:root{--ink:#102a43;--muted:#627d98;--line:#d9e2ec;--paper:#f6f9fc;--card:rgba(255,255,255,.9);--blue:#1177a8;--cyan:#2ca6c9;--orange:#ec9b4f;--shadow:0 18px 55px rgba(16,42,67,.1)}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;color:var(--ink);background:radial-gradient(circle at 18% 2%,#fff 0,#f6f9fc 38%,#edf4f8 100%);font-family:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}.site-shell{position:relative;max-width:1180px;margin:auto;padding:30px 34px 42px;overflow:hidden}.ambient{position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none;z-index:-1}.ambient-one{width:300px;height:300px;right:-100px;top:260px;background:rgba(44,166,201,.12)}.ambient-two{width:220px;height:220px;left:-100px;bottom:270px;background:rgba(236,155,79,.11)}.topbar{display:flex;align-items:center;justify-content:space-between}.brand-lockup{display:flex;gap:12px;align-items:center}.brand-mark{width:43px;height:43px;border-radius:14px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800;box-shadow:0 8px 18px rgba(16,42,67,.2)}.eyebrow,.section-kicker{margin:0;color:var(--cyan);font-size:11px;letter-spacing:.16em;font-weight:800}.brand-name{margin:3px 0 0;font-size:18px;font-weight:800}.topbar-note{color:var(--muted);font-size:13px}.live-dot{display:inline-block;width:7px;height:7px;background:#48b589;border-radius:50%;margin:0 7px 1px 0;box-shadow:0 0 0 4px rgba(72,181,137,.13)}.hero{display:flex;justify-content:space-between;align-items:center;min-height:265px;padding:28px 44px 20px 34px}.hero h1{margin:16px 0 10px;font-size:clamp(39px,6vw,68px);line-height:1.05;letter-spacing:-.06em}.hero h1 em{font-style:normal;color:var(--cyan)}.hero-subtitle{margin:0;color:var(--muted);font-size:16px}.hero-orbit{position:relative;width:195px;height:195px;margin-right:32px}.orbit-ring{position:absolute;border:1px solid rgba(17,119,168,.26);border-radius:50%}.ring-large{inset:0;transform:rotate(25deg) scaleY(.42)}.ring-small{inset:26px;transform:rotate(-35deg) scaleY(.52)}.orbit-core{position:absolute;inset:58px;border-radius:50%;background:linear-gradient(150deg,var(--cyan),var(--ink));color:white;text-align:center;padding-top:20px;font-size:22px;font-weight:800;line-height:1.02;box-shadow:0 18px 32px rgba(17,119,168,.28)}.orbit-core span{color:#bce9ef}.orbit-label{position:absolute;color:var(--muted);font-size:11px;font-weight:700}.label-top{top:9px;right:16px}.label-bottom{bottom:15px;left:12px}.query-card,.results-section,.info-card{background:var(--card);border:1px solid rgba(217,226,236,.9);box-shadow:var(--shadow);border-radius:22px}.query-card{overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 26px}.tab{border:0;background:none;color:var(--muted);padding:18px 16px;cursor:pointer;font-weight:700;border-bottom:3px solid transparent;margin-bottom:-1px}.tab.active{color:var(--ink);border-color:var(--cyan)}.tab-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#e7f3f6;color:var(--cyan);font-size:12px;margin-right:8px}.query-body{display:flex;align-items:end;gap:50px;padding:24px 32px 28px}.query-body label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:8px}.date-control{flex:1}.date-input-wrap{display:flex;align-items:center}.query-body input,.query-body select{height:44px;border:1px solid var(--line);border-radius:11px;padding:0 12px;color:var(--ink);background:#fff;outline:none}.query-body input:focus,.query-body select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(44,166,201,.13)}.date-context{display:flex;align-items:baseline;gap:11px;min-width:145px}.date-large{font-size:25px;font-weight:800}.date-week{font-size:13px;color:var(--cyan);font-weight:800}.person-query{align-items:end}.person-picker{min-width:245px}.select-wrap select{width:100%}.range-inputs{display:flex;align-items:center;gap:9px}.range-inputs input{width:145px}.range-inputs span{color:var(--muted);font-size:13px}.results-section{margin-top:24px;padding:30px 32px}.section-heading,.timeline-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.timeline-heading h2{margin:6px 0 0;font-size:27px;letter-spacing:-.03em}.section-heading h2 span{color:var(--cyan);font-size:15px;margin-left:5px;letter-spacing:0}.cycle-note,.timeline-caption,.result-count{font-size:12px;color:var(--muted)}.shift-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}.shift-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(240,248,250,.7))}.shift-card.night{background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(247,243,239,.74))}.shift-card-top{display:flex;align-items:center;gap:12px}.shift-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:22px;color:var(--cyan);background:#e7f3f6}.night .shift-icon{background:#fff1e4;color:var(--orange)}.shift-label,.shift-time{margin:0}.shift-label{font-weight:800}.shift-time{margin-top:3px;color:var(--muted);font-size:12px}.shift-status{margin-left:auto;border-radius:99px;background:#e9f7f1;color:#278667;font-size:11px;padding:5px 9px;font-weight:700}.people-row{display:flex;gap:8px;margin-top:22px}.person-chip{border-radius:8px;background:var(--ink);color:#fff;padding:8px 13px;font-size:14px;font-weight:700}.night .person-chip{background:#754d2d}.timeline-heading{margin-top:39px}.timeline-list{margin-top:15px;display:grid;gap:8px}.timeline-row,.person-result{width:100%;border:1px solid transparent;background:#f7fafc;border-radius:12px;color:var(--ink);cursor:pointer;text-align:left;display:flex;align-items:center;gap:16px;padding:11px 14px;transition:.18s}.timeline-row:hover,.timeline-row.selected,.person-result:hover{border-color:#b8dce6;background:#f0f9fb}.timeline-date{display:flex;align-items:center;gap:10px;min-width:120px}.timeline-date strong{font-size:22px}.timeline-date span{font-size:11px;color:var(--muted)}.timeline-shift{font-size:12px;flex:1}.mini-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:var(--cyan)}.night-dot{background:var(--orange)}.row-arrow,.result-arrow{margin-left:auto;color:var(--cyan);font-size:20px}.person-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.person-result{padding:15px}.result-date{display:flex;align-items:center;gap:9px;min-width:80px}.result-date strong{font-size:28px}.result-date span{font-size:11px;color:var(--muted)}.result-shift{border-left:3px solid var(--cyan);padding-left:11px;display:flex;flex-direction:column;gap:3px}.result-shift.night{border-color:var(--orange)}.result-shift small{font-size:11px;color:var(--muted)}.empty-state{padding:26px;text-align:center;color:var(--muted);background:#f7fafc;border-radius:12px;grid-column:1/-1}.bottom-info{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}.info-card{display:flex;gap:15px;padding:20px 22px}.info-icon{width:35px;height:35px;flex:none;border-radius:11px;background:#e7f3f6;color:var(--cyan);display:grid;place-items:center;font-size:20px}.info-card h3{margin:5px 0 7px;font-size:17px}.info-card h3 span{color:var(--cyan);font-weight:400}.info-card p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.footer{display:flex;justify-content:space-between;color:#829ab1;font-size:11px;padding:24px 4px 0}.hidden{display:none!important}@media(max-width:760px){.site-shell{padding:20px 16px 28px}.topbar-note{display:none}.hero{padding:30px 8px 25px;min-height:210px}.hero-orbit{width:125px;height:125px;margin-right:0}.orbit-core{inset:38px;padding-top:14px;font-size:15px}.ring-small{inset:18px}.hero h1{font-size:40px}.hero-subtitle{font-size:13px;max-width:210px}.query-body{display:block;padding:22px}.date-context{margin-top:18px}.person-query{display:block}.person-picker,.range-control{min-width:0;margin-top:0}.range-control{margin-top:18px}.range-inputs{justify-content:space-between}.range-inputs input{width:calc(50% - 16px)}.results-section{padding:23px 18px}.shift-grid,.person-results-grid,.bottom-info{grid-template-columns:1fr}.timeline-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.timeline-date{grid-row:span 2}.row-arrow{display:none}.timeline-shift{font-size:11px}.footer{gap:10px;line-height:1.5}.tabs{padding:0 10px}.tab{padding:16px 8px;font-size:12px}}
