.plat-thread{flex-direction:column;gap:16px;min-width:0;display:flex}.plat-thread-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.plat-thread-empty{color:var(--muted);margin:0;font-size:13px}.plat-msg-head{align-items:baseline;gap:10px;font-size:13px;display:flex}.plat-msg-head time{color:var(--muted);font-size:12px}.plat-msg-text{overflow-wrap:anywhere;max-width:68ch;margin:4px 0 8px;font-size:14px;line-height:1.6}.plat-msg[data-mine=true] .plat-msg-text{background:var(--lav);border-radius:12px;width:fit-content;padding:8px 12px}.plat-reactions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plat-reaction{border:1px solid var(--line2);background:var(--surface);min-height:28px;color:var(--ink);font:600 12px/1.4 var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.plat-reaction svg{width:14px;height:14px}.plat-reaction[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.plat-composer{border:1px solid var(--line2);background:var(--surface);border-radius:16px;align-items:flex-end;gap:10px;padding:8px;display:flex}.plat-composer:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.plat-composer textarea{resize:vertical;background:0 0;border:0;flex:1;min-width:0;min-height:44px;font-size:14px;line-height:1.5}.plat-composer textarea:focus-visible{outline:none}.plat-composer-send{place-items:center;width:40px;height:40px;padding:0;display:grid}.plat-composer-send svg{width:18px;height:18px}.plat-timeline{flex-direction:column;margin:0;padding:0 0 0 6px;list-style:none;display:flex}.plat-timeline-item{border-inline-start:2px solid var(--line);gap:14px;padding:0 0 18px 14px;display:flex;position:relative}.plat-timeline-item:last-child{border-inline-start-color:#0000;padding-bottom:0}.plat-timeline-dot{inset-inline-start:-7px;background:var(--surface);border:3px solid var(--plat-dot,var(--line2));border-radius:50%;width:12px;height:12px;position:absolute;top:3px}.plat-timeline-item[data-tone=info]{--plat-dot:var(--plat-info-edge)}.plat-timeline-item[data-tone=success]{--plat-dot:var(--plat-success-edge)}.plat-timeline-item[data-tone=warning]{--plat-dot:var(--plat-warn-edge)}.plat-timeline-item[data-tone=error]{--plat-dot:var(--plat-error-edge)}.plat-timeline-title{font-size:14px;font-weight:600}.plat-timeline-at{color:var(--muted);margin-top:2px;font-size:12px;display:block}.plat-timeline-detail{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.55}.plat-dates{scrollbar-width:thin;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.plat-date{text-align:center;border:1px solid var(--line);background:var(--base);width:56px;min-height:72px;color:var(--ink);font:inherit;cursor:default;border-radius:14px;flex:none;place-content:center;gap:2px;display:grid}button.plat-date{cursor:pointer}.plat-date strong{font:normal 24px/1 var(--serif)}.plat-date-weekday{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.plat-date[aria-checked=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.plat-date[aria-checked=true] .plat-date-weekday{color:color-mix(in srgb, var(--surface) 78%, var(--ink))}.plat-date[data-marked=true]:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;margin:2px auto 0}.plat-tile{text-align:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--base);min-height:168px;color:var(--ink);font:inherit;cursor:pointer;flex-direction:column;gap:10px;padding:18px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.plat-tile:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.plat-tile-title{font:normal 22px/1.15 var(--serif);letter-spacing:-.2px}.plat-tile-desc{color:var(--muted);font-size:12.5px;line-height:1.55}.plat-tile-foot{justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;display:flex}.plat-tile-arrow{width:26px;height:26px}.plat-tile-date{color:var(--muted);font-size:12px}.plat-tile-date strong{color:var(--ink);font-weight:600}.plat-tile[data-tone=inverted]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.plat-tile[data-tone=inverted] .plat-tile-desc,.plat-tile[data-tone=inverted] .plat-tile-date{color:color-mix(in srgb, var(--surface) 76%, var(--ink))}.plat-tile[data-tone=inverted] .plat-tile-date strong{color:var(--surface)}@media (prefers-reduced-motion:reduce){.plat-tile{transition:none}.plat-tile:hover{transform:none}}.plat-ld{grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.plat-ld-list ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.plat-ld-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:12px}.plat-ld-row{text-align:start;width:100%;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.plat-ld-row:hover{background:var(--base)}.plat-ld-row[aria-current=true]{background:var(--lav);border-color:var(--line2)}.plat-ld-row[aria-current=true] .plat-ld-sub,.plat-ld-row[aria-current=true] .plat-ld-meta{color:color-mix(in srgb, var(--ink) 80%, var(--lav))}.plat-ld-text{flex-direction:column;flex:1;min-width:0;display:flex}.plat-ld-title{overflow-wrap:anywhere;font-size:14px;font-weight:600}.plat-ld-sub{color:var(--muted);font-size:12px}.plat-ld-meta{color:var(--muted);white-space:nowrap;font-size:12px}.plat-ld-detail{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:20px}.plat-ld-placeholder{color:var(--muted);margin:0;font-size:13px}.plat-ld-back{margin-bottom:12px;display:none}@media (max-width:780px){.plat-ld{grid-template-columns:minmax(0,1fr)}.plat-ld[data-view=detail] .plat-ld-list,.plat-ld[data-view=list] .plat-ld-detail{display:none}.plat-ld-back{display:inline-flex}}.plat-hero-metric{flex-direction:column;gap:6px;display:flex}.plat-hero-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.plat-hero-value{font:normal clamp(48px, 7vw, 88px)/1 var(--serif);letter-spacing:-1.5px}.plat-hero-unit{color:var(--muted);letter-spacing:0;margin-inline-start:6px;font-size:.32em}.plat-hero-foot{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:inline-flex}.plat-chart{margin:0}.plat-chart svg{width:100%;height:auto;display:block}.plat-chart-grid{stroke:var(--line);stroke-width:1px}.plat-chart-axis{fill:var(--muted);font:11px var(--sans)}.plat-chart-bar{fill:var(--ink)}.plat-chart-bar[data-series="1"],.plat-chart-legend i[data-series="1"]{fill:color-mix(in srgb, var(--ink) 38%, var(--surface));background:color-mix(in srgb, var(--ink) 38%, var(--surface))}.plat-chart-bar[data-series="2"],.plat-chart-legend i[data-series="2"]{fill:var(--accent);background:var(--accent)}.plat-chart-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;display:flex}.plat-chart-legend i{background:var(--ink);vertical-align:-1px;border-radius:3px;width:10px;height:10px;display:inline-block}.plat-chart-empty{color:var(--muted);font-size:13px}.plat-ai{background:var(--ink);color:var(--surface);border-radius:var(--radius);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.plat-ai-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.plat-ai-head h2{font:normal 22px/1.15 var(--serif);margin:0}.plat-ai-badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.plat-ai-badge svg{width:12px;height:12px}.plat-ai-points{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.plat-ai-points li{color:color-mix(in srgb, var(--surface) 80%, var(--ink));flex-direction:column;gap:2px;font-size:13px;line-height:1.6;display:flex}.plat-ai-points strong{color:var(--surface);font-size:13px}.plat-ai-note{color:color-mix(in srgb, var(--surface) 66%, var(--ink));margin:0;font-size:11.5px}.plat-ai-actions{flex-wrap:wrap;gap:8px;display:flex}.plat-ai .btn{color:var(--surface);border-color:color-mix(in srgb, var(--surface) 38%, transparent);background:0 0}.plat-ai .btn svg{width:14px;height:14px}.plat-fab{z-index:90;width:max-content;max-width:calc(100vw - 28px);inset-inline:0;bottom:max(18px, env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--surface);box-shadow:var(--shadow-pop,0 12px 32px -12px #11162d47);border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px;margin-inline:auto;padding:8px 10px;animation:.2s cubic-bezier(.2,.8,.2,1) plat-rise;display:flex;position:fixed}.plat-fab-count{padding:0 12px;font-size:13px;font-weight:600}.plat-fab-action,.plat-fab-clear{min-height:36px;color:inherit;font:600 13px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.plat-fab-action:hover,.plat-fab-clear:hover{background:color-mix(in srgb, var(--surface) 16%, transparent)}.plat-fab-action:disabled{opacity:.5;cursor:not-allowed}.plat-fab-action[data-danger=true]{color:var(--accent)}.plat-fab svg{width:16px;height:16px}.plat-fab :focus-visible{outline-color:var(--accent)}@media (max-width:780px){.plat-fab{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.plat-assist-highlight{outline:3px solid var(--accent);outline-offset:4px;border-radius:10px;animation:1.6s ease-in-out 2 plat-assist-pulse}@keyframes plat-assist-pulse{50%{outline-color:var(--focus-ring)}}@media (prefers-reduced-motion:reduce){.plat-assist-highlight{animation:none}}.plat-tour{inset-inline:0;bottom:max(18px, env(safe-area-inset-bottom,0px));z-index:95;background:var(--surface);width:min(420px,100vw - 28px);color:var(--ink);border:1px solid var(--line2);box-shadow:var(--shadow-pop,0 12px 32px -12px #11162d47);border-radius:18px;flex-direction:column;gap:8px;margin-inline:auto;padding:16px 18px;display:flex;position:fixed}.plat-tour h2{font:normal 20px/1.2 var(--serif);margin:0}.plat-tour p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.plat-tour-actions{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}
.app-lock{z-index:1000;background:color-mix(in srgb, var(--ink,#17213a) 72%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.app-lock-card{text-align:center;gap:12px;max-width:360px;display:grid}.btn-row{flex-wrap:wrap;gap:8px;margin-block:8px;display:flex}.field-inline{align-items:center;gap:10px;display:flex}
