/* LifeFlow V15: semantic colors generated from design_tokens.json precede this file. */
:root{color-scheme:light dark;--canvas:#F7F6F2;--surface:#FFFFFF;--surface-subtle:#EFEDE6;--ink:#18312F;--ink-secondary:#5F6B66;--ink-tertiary:#8E9690;--accent:#245B4D;--accent-soft:#DAE7DC;--warm-focus:#C86B48;--danger:#A9473F;--divider:#E3DFD5;--hairline:#D6D1C4;--paper:var(--canvas);--soft:var(--surface-subtle);--line:var(--hairline);--muted:var(--ink-secondary);--urgent:var(--danger);--green:var(--accent);--coral:var(--warm-focus);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--space-10:96px;--radius-control:12px;--radius-panel:18px;--radius-sheet:26px;--margin:24px;--ease:cubic-bezier(.2,0,0,1);--duration:200ms}
@media(prefers-color-scheme:dark){:root{--canvas:#101816;--surface:#192522;--surface-subtle:#1F2D28;--ink:#E9EFE8;--ink-secondary:#A5B0A9;--ink-tertiary:#6E7A73;--accent:#9BC9B3;--accent-soft:#263C32;--warm-focus:#E0A17A;--danger:#D47A72;--divider:#2A3A34;--hairline:#35463F}}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",system-ui,sans-serif;font-size:15px;line-height:1.55;font-variant-numeric:tabular-nums}button,input,textarea,select{font:inherit;font-variant-numeric:tabular-nums}button{min-height:48px;border-radius:var(--radius-control);background:transparent;border:1px solid var(--hairline);color:var(--ink);font-size:15px;font-weight:600;transition:background var(--duration) var(--ease),transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}button:active{transform:translateY(1px);background:var(--surface-subtle)}button.primary{background:var(--accent);color:var(--canvas);border-color:var(--accent)}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--warm-focus);outline-offset:4px}button[hidden]{display:none!important}
h1,h2{font-family:"Noto Serif SC","Source Han Serif SC",SimSun,serif;font-weight:600;line-height:1.2;letter-spacing:-.01em}h3{font-size:17px;line-height:1.25;font-weight:500}p{line-height:1.55}small,.muted{font-size:13px;color:var(--ink-secondary)}
.v11-shell{max-width:850px;padding:24px var(--margin) 112px;margin:0 auto}.v11-head{margin:0 0 40px;align-items:start}.v11-head b{font-family:"Noto Serif SC",SimSun,serif;font-size:24px;font-weight:600;letter-spacing:-.24px}.v11-date{font-size:13px;margin-top:8px}.v11-head>small{font-size:12px;padding-top:5px;max-width:140px;text-align:right}.v11-hero{background:var(--surface-subtle);color:var(--ink);border-radius:var(--radius-panel);padding:20px 20px 20px 40px;min-height:0;position:relative;margin-bottom:24px;display:block;animation:calm-enter 200ms var(--ease)}.v11-hero:before{content:"";position:absolute;left:20px;top:24px;width:4px;height:52px;border-radius:12px;background:var(--warm-focus)}.v11-hero h1{font-family:inherit;font-size:18px;line-height:1.25;font-weight:600;letter-spacing:0;margin:16px 0 12px;max-width:24ch}.v11-hero p{font-size:14px;color:var(--ink-secondary);margin:0 0 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v11-hero small{font-size:12px;color:var(--ink-secondary)}.v11-hero .v11-chip{color:var(--accent);font-size:12px;font-weight:500;position:relative;padding-bottom:4px}.v11-hero .v11-chip:after{content:"";width:16px;height:1px;position:absolute;bottom:0;left:0;background:var(--accent)}.v11-hero .v11-chip svg{display:none}.v11-hero button{border:0;color:var(--ink-secondary);background:transparent}.v11-hero button.primary{background:var(--accent);color:var(--canvas);min-height:48px}.v11-hero .why-link{font-size:13px;font-weight:400;min-height:48px;margin:4px 0 0}.v11-hero .actions{gap:8px}
.v11-chip{color:var(--ink-secondary);font-size:12px;gap:6px;font-weight:400}.v15-icon{width:24px;height:24px;flex:none;display:block;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.v11-chip .v15-icon{width:16px;height:16px}.v11-candidate{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:88px;border:0;border-bottom:1px solid var(--hairline);border-radius:0;background:transparent;padding:16px 0;margin:0}.v11-candidate strong{font-size:16px;font-weight:500;max-width:none;white-space:normal;line-height:1.3}.v11-candidate .v11-chip{margin-top:6px}.v11-candidate>.time{max-width:75px;text-align:right;font-size:12px;color:var(--ink-secondary)}
.v11-nav{height:56px;min-height:56px;width:min(620px,calc(100% - 24px));bottom:max(8px,env(safe-area-inset-bottom));border:1px solid var(--divider);background:color-mix(in srgb,var(--surface) 94%,transparent);border-radius:var(--radius-panel);padding:0 8px;gap:0;box-shadow:none;align-items:stretch;backdrop-filter:none}.v11-nav button{font-size:14px;font-weight:400;flex-direction:column;justify-content:center;min-height:54px;position:relative;color:var(--ink-secondary);border:0;border-radius:0}.v11-nav button[aria-current=page]{background:transparent;color:var(--accent);font-weight:600}.v11-nav button[aria-current=page]:after{content:"";position:absolute;bottom:8px;width:2px;height:2px;background:var(--accent);border-radius:999px}.v11-nav button span{display:none}
.v11-row h1,.v11-mine h1,.v11-shell>h1{font-size:24px;margin:0 0 24px}.v11-row{gap:12px}.v11-row>button{font-size:13px;border:0;padding:0 8px}.v11-tabs{display:flex;gap:16px;margin:8px 0 32px;border:0}.v11-tabs button{min-height:48px;border:0;border-radius:0;background:transparent;color:var(--ink-secondary);padding:8px 0;position:relative;font-size:15px;font-weight:400}.v11-tabs button[aria-selected=true]{background:transparent;color:var(--accent);font-weight:600}.v11-tabs [aria-selected=true]:after{content:"";position:absolute;width:24px;height:2px;bottom:2px;left:calc(50% - 12px);background:var(--accent)}
.v15-source-group{border-left:2px solid color-mix(in srgb,var(--accent) 35%,var(--canvas));padding-left:16px;margin:0 0 32px}.v15-source-head{display:flex;gap:8px;align-items:center;color:var(--ink-secondary);font-size:13px;margin-bottom:12px}.v15-source-head .v15-icon{width:20px;height:20px}.v11-fragment{padding:8px 0 16px;margin:0 0 8px;border:0;background:transparent;border-radius:0;min-height:48px;font-weight:400}.v11-fragment strong{font-size:16px;font-weight:500;margin:6px 0 8px}.v11-fragment p{font-size:14px;line-height:1.55;margin:0 0 8px;-webkit-line-clamp:3}.v11-fragment small{font-size:12px}.v11-fragment .v11-provenance{display:none}.v11-fragment .v11-row>small{display:flex;align-items:center;gap:5px}.v11-fragment .v11-row>small:before{content:"";display:inline-block;width:5px;height:5px;border-radius:999px;background:var(--accent)}
.v11-topology{height:290px;max-height:40dvh;min-height:240px;background:var(--surface-subtle);border-radius:var(--radius-panel);padding:20px;margin:8px 0 32px}.v11-topology .track{border-top:2px solid var(--accent);left:12%;width:38%;top:150px;transform:rotate(-28deg)}.v11-topology .track.blocked{border-top:2px dashed var(--danger);left:50%;width:35%;top:150px;transform:rotate(28deg)}.v11-topology .point{background:var(--surface-subtle);border:0;border-radius:0;padding:4px;font-size:13px}.v11-topology .point:before{content:"";width:6px;height:6px;border:1.5px solid var(--accent);background:var(--canvas);border-radius:999px;position:absolute;top:-8px;left:8px}.v11-batch{padding:20px 0;border-color:var(--hairline)}.v11-batch h3{font-size:17px;font-weight:500;line-height:1.3}.v11-batch p{font-size:14px;color:var(--ink-secondary);line-height:1.55;margin:8px 0}.v11-batch button{margin:8px 4px 0 0}.v11-batch button:not(.primary){border:0}.v11-blocked{border-left:3px solid var(--danger);padding-left:16px;color:var(--ink)}.v11-blocked h3{color:var(--ink)}.v11-blocked p[role=alert]{color:var(--danger)}
.v11-mine button{min-height:60px;font-size:16px;font-weight:500;padding:16px 0;border-color:var(--hairline)}.v11-mine button:after{color:var(--ink-secondary);font-weight:400}.v11-mine h1{margin-bottom:24px}.v11-sheet{width:min(850px,100%);height:88dvh;max-height:88dvh;padding:24px var(--margin) 32px;border:0;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface);box-shadow:0 -4px 24px #10181608;animation:sheet-enter 240ms var(--ease);color:var(--ink)}.v11-sheet::backdrop{background:rgb(16 24 22 / .4)}.v11-sheet header{gap:16px;margin-bottom:24px;align-items:start}.v11-sheet h2{font-size:22px;line-height:1.25;letter-spacing:-.01em}.v11-sheet header button{font-size:0;min-width:48px;min-height:48px;position:relative;background:transparent;color:var(--ink-secondary);margin-top:-8px;border:0}.v11-sheet header button:after{content:"";display:block;width:16px;height:16px;background:currentColor;clip-path:polygon(0 7%,7% 0,50% 43%,93% 0,100% 7%,57% 50%,100% 93%,93% 100%,50% 57%,7% 100%,0 93%,43% 50%)}.v11-sheet blockquote{background:var(--surface-subtle);border-left:2px solid var(--warm-focus);padding:16px;margin:24px 0;font-size:15px;line-height:1.6}.v11-sheet mark{color:var(--ink);background:transparent}.v11-sheet dl{margin:24px 0}.v11-sheet dt{font-size:12px;color:var(--ink-secondary);margin:16px 0 4px}.v11-sheet dd{font-size:14px;padding-bottom:12px;margin:0;border-bottom:1px solid var(--hairline);overflow-wrap:anywhere}.v15-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v15-info-cell{min-width:0}.v15-info-grid dt{margin-top:0}.v15-info-grid dd{height:calc(100% - 25px)}.v11-sheet label{font-size:14px;font-weight:400;margin-top:16px}.v11-sheet input,.v11-sheet textarea,.v11-sheet select{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-control);padding:12px;color:var(--ink)}.v11-sheet .actions{margin:16px 0;gap:8px}.v11-sheet .saved{background:transparent;border-left:2px solid var(--accent);border-radius:0;color:var(--accent);padding:0 0 0 12px;position:static;animation:calm-enter 200ms var(--ease)}.v11-sheet .diff-old{opacity:.4;text-decoration:line-through;transition:opacity 200ms var(--ease)}.v11-sheet .entry{border-bottom:1px solid var(--hairline);padding:24px 0;animation:diff-enter 320ms var(--ease)}.v11-sheet .entry>p:not(.diff-old){border-left:2px solid var(--accent);padding-left:12px}.v11-sheet .entry h3{font-size:16px;line-height:1.35}
.atlas-filters{gap:4px 12px;margin:24px 0 32px}.atlas-filters button{background:transparent;border:0;border-radius:0;font-size:14px;font-weight:400;padding:8px 0;position:relative;color:var(--ink-secondary)}.atlas-filters [aria-pressed=true]{color:var(--accent);background:transparent;font-weight:600}.atlas-filters [aria-pressed=true]:after{content:"";position:absolute;bottom:1px;left:0;width:24px;height:2px;background:var(--accent)}.atlas-domain{border:0;border-bottom:1px solid var(--hairline);padding:0}.atlas-domain summary{display:flex;justify-content:space-between;align-items:center;min-height:60px;font-size:16px;font-weight:500;list-style:none;gap:16px}.atlas-domain summary::-webkit-details-marker{display:none}.v15-prototype-dots{display:flex;gap:4px;flex-shrink:0}.v15-prototype-dots i{display:block;width:6px;height:6px;border-radius:999px;background:var(--accent);opacity:.45}.v15-prototype-dots i:nth-child(3n+2){background:var(--warm-focus)}.v15-prototype-dots i:nth-child(3n){background:var(--ink-secondary)}.atlas-card{padding:20px 0 20px 16px;border-color:var(--hairline)}.atlas-card h3{font-size:16px;margin:0 0 8px}.atlas-card p{font-size:13px;color:var(--ink-secondary);margin:8px 0;line-height:1.5}.atlas-card button{border:0;padding-left:0;font-size:14px}.atlas-detail .v15-time-title{font-size:20px;font-weight:600;margin:8px 0 24px}.v11-note{font-size:12px;color:var(--ink-secondary)}.v11-error{font-size:13px;color:var(--ink-secondary)}.v11-error:empty{display:none}.v14-notification{background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-left:3px solid var(--accent);border-radius:var(--radius-panel);box-shadow:0 4px 18px #10181614;padding:20px;width:min(370px,calc(100vw - 40px));font-size:14px;animation:calm-enter 240ms var(--ease)}.v14-notification button{border:0;font-size:13px}.v15-quiet{padding:48px 0;text-align:center}.v15-quiet .v15-icon{margin:0 auto 24px;width:48px;height:48px}.v15-quiet h1{font-family:inherit;font-size:16px;font-weight:500;line-height:1.5}.v15-quiet p{font-size:13px;color:var(--ink-secondary)}.v15-quiet button{border:0;font-size:14px}.v15-skeleton{padding:32px 0}.v15-skeleton i{display:block;height:14px;margin:16px 0;background:var(--surface-subtle);border-radius:8px}.v15-skeleton i:first-child{width:35%}.v15-skeleton i:last-child{width:70%}
@keyframes calm-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-enter{from{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes diff-enter{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:375px){:root{--margin:20px}.v11-hero{padding-left:36px}.v11-candidate .time{max-width:64px}.v15-info-grid{gap:12px}.v11-hero p{font-size:13px}}@media(min-width:420px){:root{--margin:28px}}@media(min-width:900px){.v11-shell{padding-top:40px}.v11-hero{padding:28px 32px 28px 48px}.v11-hero:before{left:24px;top:32px}.v11-hero h1{font-size:22px;max-width:none}.v11-head{margin-bottom:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v15-trust-refinement */
.atlas-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;max-width:100%;gap:16px;padding-bottom:4px}.atlas-filters button{flex:none}.atlas-filters::-webkit-scrollbar{height:0}
.v14-notification{bottom:84px;z-index:25}
.v11-sheet .chip{background:transparent;border-radius:0;padding:0;font-size:13px}.v11-mine button:after{content:"";width:6px;height:6px;border-right:1.5px solid var(--ink-secondary);border-bottom:1.5px solid var(--ink-secondary);transform:rotate(-45deg);margin-top:9px}.v11-sheet .entry{padding:16px 0}.v11-sheet .entry>p{margin:8px 0}.v11-sheet details{border-color:var(--hairline)}
