:root{--accent: oklch(.72 .16 48);--accent-ink: oklch(.82 .12 52);--accent-soft: oklch(.3 .07 48);--shadow-accent: 0 4px 14px color-mix(in oklch, var(--accent) 26%, transparent);--r-card: 24px;--r-pill: 15px;--r-chip: 11px;--r-input: 13px;--r-cell: 10px;--ease: cubic-bezier(.4, 0, .2, 1);--t-fast: .15s;--t-knob: .22s;--sidebar-w: 244px;--content-max: 1320px}[data-theme=dark]{--bg: #0a0908;--card: #15120f;--card-2: #1c1813;--text: #f3ede6;--muted: #a99c8d;--faint: #6f6457;--border: rgba(255, 255, 255, .07);--track: #2a241d;--green: oklch(.74 .13 155);--red: oklch(.7 .16 25);--shadow: 0 1px 2px rgba(0, 0, 0, .32), 0 6px 16px rgba(0, 0, 0, .4);--surface: rgba(26, 22, 18, .72);--elev: inset 0 1px 0 rgba(255, 255, 255, .04), 0 1px 2px rgba(0, 0, 0, .34), 0 8px 22px rgba(0, 0, 0, .4);--elev-hover: inset 0 1px 0 rgba(255, 255, 255, .06), 0 2px 4px rgba(0, 0, 0, .34), 0 14px 32px rgba(0, 0, 0, .46);--elev-sm: inset 0 1px 0 rgba(255, 255, 255, .05), 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px rgba(0, 0, 0, .2);--elev-sm-hover: inset 0 1px 0 rgba(255, 255, 255, .08), 0 2px 4px rgba(0, 0, 0, .32), 0 5px 12px rgba(0, 0, 0, .24);--glass: rgba(28, 24, 19, .55);--glass-2: rgba(36, 31, 24, .5);--glass-border: rgba(255, 255, 255, .1);--glass-highlight: rgba(255, 255, 255, .06);--glass-blur: 22px;--page-bg: radial-gradient( 1100px 720px at 12% -6%, oklch(.68 .18 52 / .16), transparent 58% ), radial-gradient(900px 760px at 100% 102%, oklch(.6 .17 40 / .12), transparent 60%);--t-blue-bg: oklch(.32 .05 250);--t-blue-ink: oklch(.82 .1 250);--t-green-bg: oklch(.3 .05 155);--t-green-ink: oklch(.82 .1 155);--t-peach-bg: oklch(.34 .07 50);--t-peach-ink: oklch(.84 .12 55);--t-lav-bg: oklch(.33 .05 300);--t-lav-ink: oklch(.84 .1 300);--t-pink-bg: oklch(.33 .05 350);--t-pink-ink: oklch(.85 .1 350)}[data-theme=light]{--bg: #eef1f6;--card: #ffffff;--card-2: #f5f7fb;--text: #161c27;--muted: #737e91;--faint: #9aa4b4;--border: rgba(22, 28, 39, .07);--track: #e8ecf3;--accent: oklch(.62 .13 250);--accent-ink: oklch(.47 .13 250);--accent-soft: oklch(.95 .028 250);--green: oklch(.6 .13 155);--red: oklch(.6 .16 25);--shadow: 0 1px 2px rgba(20, 22, 40, .05), 0 4px 12px rgba(20, 22, 40, .06);--surface: rgba(255, 255, 255, .82);--elev: 0 1px 2px rgba(20, 22, 40, .05), 0 6px 16px rgba(20, 22, 40, .07);--elev-hover: 0 2px 4px rgba(20, 22, 40, .06), 0 10px 24px rgba(20, 22, 40, .1);--elev-sm: 0 1px 2px rgba(20, 22, 40, .05), 0 2px 5px rgba(20, 22, 40, .05);--elev-sm-hover: 0 2px 4px rgba(20, 22, 40, .06), 0 4px 10px rgba(20, 22, 40, .08);--glass: rgba(255, 255, 255, .6);--glass-2: rgba(245, 247, 251, .6);--glass-border: rgba(255, 255, 255, .7);--glass-highlight: rgba(255, 255, 255, .8);--glass-blur: 20px;--page-bg: radial-gradient( 1100px 640px at 12% -10%, oklch(.88 .1 58 / .6), transparent 60% ), radial-gradient(950px 640px at 100% 0%, oklch(.86 .09 42 / .5), transparent 55%), radial-gradient(820px 720px at 50% 120%, oklch(.9 .08 66 / .42), transparent 60%);--t-blue-bg: oklch(.955 .025 250);--t-blue-ink: oklch(.5 .13 250);--t-green-bg: oklch(.955 .035 155);--t-green-ink: oklch(.5 .12 155);--t-peach-bg: oklch(.955 .035 55);--t-peach-ink: oklch(.56 .12 50);--t-lav-bg: oklch(.955 .035 300);--t-lav-ink: oklch(.53 .13 300);--t-pink-bg: oklch(.955 .035 350);--t-pink-ink: oklch(.56 .13 350)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,body{max-width:100%;overflow-x:hidden}body{margin:0;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--text);background-color:var(--bg);background-image:var(--page-bg);background-attachment:fixed;background-repeat:no-repeat;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1,h2,h3{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;margin:0}button{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}input,textarea{font-family:inherit}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--card-2) inset;box-shadow:0 0 0 1000px var(--card-2) inset;caret-color:var(--text)}::selection{background:var(--accent-soft)}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.display-title{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:33px;line-height:1.05;margin:1px 0 0;background:linear-gradient(100deg,var(--text) 40%,oklch(.78 .16 55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.serif{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400}.glass{position:relative;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(160deg,var(--glass-highlight),transparent 38%,transparent 70%,var(--glass-highlight));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}.card{position:relative;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--elev);min-width:0;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.card,.grid>*,.cols-12>*,.row>*{min-width:0}.card p,.card h1,.card h2,.card h3,.card span,.card li{overflow-wrap:anywhere}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.section-title{font-size:20px}@media(max-width:860px){.section-title{font-size:17.5px}}.check-toggle{position:relative}@media(max-width:860px){.check-toggle:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}}@media(max-width:860px){.section-head{flex-wrap:wrap}}.alert-row{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:12px;font-size:13px;border:1px solid var(--border);background:var(--card-2)}.alert-row>svg{flex-shrink:0}.alert-row.warn{color:#e8aa4e;background:color-mix(in oklch,oklch(.78 .13 75) 11%,var(--card-2));border-color:color-mix(in oklch,oklch(.78 .13 75) 30%,var(--border))}.alert-row.danger{color:var(--red);background:color-mix(in oklch,var(--red) 11%,var(--card-2));border-color:color-mix(in oklch,var(--red) 32%,var(--border))}.alert-row.info{color:var(--accent-ink);background:var(--accent-soft)}.alert-label{font-weight:700;white-space:nowrap}.alert-detail{color:var(--muted);font-weight:600}.alert-row.warn .alert-detail,.alert-row.danger .alert-detail{color:inherit;opacity:.85}.section-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:none;background:var(--card-2);color:var(--muted);cursor:pointer;flex-shrink:0;transition:transform .26s var(--ease),background .15s var(--ease),color .15s var(--ease)}.section-toggle:hover{color:var(--text)}.section-toggle[data-open=false]{transform:rotate(-90deg)}.section-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s var(--ease)}.section-body[data-open=false]{grid-template-rows:0fr}.section-body>.section-inner{overflow:hidden;min-height:0}.surface-2{background:var(--card-2);border-radius:var(--r-pill)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-chip);font-size:12.5px;font-weight:700;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--r-input);border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.pill:hover{border-color:var(--glass-highlight)}.track{width:100%;height:8px;border-radius:6px;background:var(--track);overflow:hidden}.track>i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .35s var(--ease)}.pos{color:var(--green)}.neg{color:var(--red)}.eyebrow{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.01em}.muted{color:var(--muted)}.faint{color:var(--faint)}*{scrollbar-width:thin;scrollbar-color:var(--track) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--track);border-radius:6px}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.page-enter>*{animation:rise .44s var(--ease) both}.page-enter>*:nth-child(2){animation-delay:.05s}.page-enter>*:nth-child(3){animation-delay:.1s}.page-enter>*:nth-child(4){animation-delay:.15s}.page-enter>*:nth-child(5){animation-delay:.2s}.page-enter>*:nth-child(n+6){animation-delay:.24s}.spark-line{stroke-dasharray:1;stroke-dashoffset:1;animation:sparkDraw .9s var(--ease) .05s forwards}@keyframes sparkDraw{to{stroke-dashoffset:0}}.spark-fill{animation:sparkFill .6s var(--ease) .25s both}@keyframes sparkFill{0%{opacity:0}to{opacity:.55}}.tap-row{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;background:var(--card-2);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;transition:border-color .15s var(--ease),background .15s var(--ease)}.tap-row:last-child{margin-bottom:0}.tap-row:hover{border-color:color-mix(in oklch,var(--accent) 55%,var(--border))}.tap-urgency{align-self:stretch;width:3px;border-radius:3px;flex-shrink:0;margin:1px 0}.tap-body{flex:1;min-width:0;cursor:pointer}.tap-title{font-size:14.5px;font-weight:600;color:var(--text)}.tap-title.done{color:var(--faint);text-decoration:line-through}.tap-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}.tap-date{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--faint)}.tap-date.overdue{color:var(--red)}.tap-metachip{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:600;color:var(--faint)}.tap-tag{background:var(--surface);color:var(--muted);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.tap-urgency-label{font-size:10.5px;font-weight:700;letter-spacing:.04em;margin-top:2px;flex-shrink:0}.tap-row.leaving{max-height:120px;overflow:hidden;pointer-events:none;animation:taskLeave .3s ease forwards}@keyframes taskLeave{0%{opacity:1}45%{opacity:0;transform:translate(14px);max-height:120px}to{opacity:0;transform:translate(14px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0}}.pill:active,.btn-primary:active,.btn-ghost:active{transform:scale(.96)}.icon-btn:active{transform:scale(.9)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px;animation:pageIn .15s var(--ease)}.modal-card{max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:hidden;padding:24px;display:flex;flex-direction:column;gap:18px;animation:modalIn .2s var(--ease)}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 -4px;padding:2px 4px}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.97)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--card-2);color:var(--muted);cursor:pointer;flex-shrink:0;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.icon-btn:hover{color:var(--text);background:var(--accent-soft)}.routine-player{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background-color:var(--bg);background-image:var(--page-bg);background-attachment:fixed;display:flex;flex-direction:column;padding:24px clamp(20px,6vw,80px) 40px;animation:modalIn .25s var(--ease)}.routine-top{display:flex;align-items:center;gap:16px}.routine-progress{flex:1;height:6px;border-radius:6px;background:var(--track);overflow:hidden}.routine-progress>i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .4s var(--ease)}.routine-close{width:40px;height:40px;border-radius:12px;border:none;background:var(--card-2);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s var(--ease),background .15s var(--ease)}.routine-close:hover{color:var(--text)}.routine-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;animation:rise .3s var(--ease) both}.routine-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.routine-pose{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;border-radius:26px;background:color-mix(in oklch,currentColor 9%,transparent)}.routine-title{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:clamp(34px,6vw,58px);line-height:1.05;margin:0}.routine-detail{font-size:clamp(15px,2.4vw,19px);color:var(--muted);max-width:440px;margin:0;line-height:1.5}.routine-reps{font-size:clamp(70px,16vw,150px);font-weight:800;letter-spacing:-.03em;line-height:.95}.routine-levels{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:14px}.routine-level{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 30px;min-width:128px;border-radius:18px;border:2px solid var(--border);background:var(--card-2);cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.routine-level:hover{transform:translateY(-3px);box-shadow:var(--elev)}.routine-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.routine-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-left:auto;padding:16px 32px;border-radius:16px;border:none;background:var(--accent);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:filter .15s var(--ease),transform .1s var(--ease)}.routine-next:hover{filter:brightness(1.06)}.routine-next:active{transform:scale(.97)}.routine-back{display:inline-flex;align-items:center;gap:5px;padding:14px 20px;border-radius:16px;border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.routine-back:hover:not(:disabled){color:var(--text)}.routine-back:disabled{opacity:.35;cursor:default}.routine-start-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:16px;border:none;background:var(--accent);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-accent);transition:transform .14s var(--ease),filter .15s var(--ease)}.routine-start-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}.routine-start-btn:active:not(:disabled){transform:scale(.97)}.routine-start-btn:disabled{opacity:.5;cursor:default}.icon-btn:disabled{opacity:.35;cursor:default}.routine-done-badge{width:96px;height:96px;border-radius:50%;background:var(--t-green-bg);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.copy-net{display:flex;justify-content:center;align-items:center;overflow-x:auto;min-height:220px;border-radius:16px;padding:28px 26px;background-color:color-mix(in oklch,var(--card-2) 30%,transparent);background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:24px 24px}@media(max-width:860px){.copy-net{padding:16px 12px;min-height:0}.copy-net svg{width:100%;height:auto}}.copy-edge{stroke-dasharray:1.5 6;stroke-linecap:round;animation:copyFlow 1.6s linear infinite;transition:opacity .15s var(--ease)}@keyframes copyFlow{to{stroke-dashoffset:-15}}.prop-account-card{box-shadow:var(--elev-sm);border:1px solid var(--border)}.prop-conn{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--faint);padding-top:9px;border-top:1px solid var(--border)}.prop-live{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:10px;font-size:12px;text-decoration:none;color:var(--text);background:color-mix(in oklch,var(--green) 9%,transparent);border:1px solid color-mix(in oklch,var(--green) 22%,transparent);transition:background var(--t-fast) var(--ease)}.prop-live:hover{background:color-mix(in oklch,var(--green) 16%,transparent)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;animation:livePulse 1.8s ease-out infinite}@keyframes livePulse{0%{box-shadow:0 0 color-mix(in oklch,var(--green) 55%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.smart-preview{border-radius:14px;border:1px dashed var(--border);background:var(--card-2);padding:14px}.smart-preview.on{border-style:solid;border-color:color-mix(in oklch,var(--accent) 45%,var(--border));background:var(--accent-soft)}.smart-preview-head{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--accent-ink);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.smart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}.smart-grid>div{display:flex;flex-direction:column;gap:1px}.smart-k{font-size:11px;font-weight:600;color:var(--muted)}.smart-v{font-size:14px;font-weight:700}.smart-instr{margin-top:10px;font-size:12px;font-weight:600;color:var(--faint)}@media(max-width:560px){.smart-grid{grid-template-columns:repeat(2,1fr)}}.trade-table{width:100%;border-collapse:collapse;font-size:13.5px}.trade-table th{text-align:left;padding:9px 12px;color:var(--muted);font-size:12px;font-weight:700;border-bottom:1px solid var(--border);white-space:nowrap}.trade-table td{padding:11px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.trade-table tbody tr:last-child td{border-bottom:none}.trade-table tbody tr:hover{background:var(--card-2)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:3px}.kpi-v{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:12px 13px}.kpi-v{font-size:20px}}.import-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:22px;border-radius:14px;border:1.5px dashed var(--border);background:var(--card-2);color:var(--muted);cursor:pointer;text-align:center;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.import-drop:hover{border-color:var(--accent);color:var(--accent-ink)}.fchip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:12px;border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all var(--t-fast) var(--ease)}.fchip:hover{color:var(--text)}.fchip.active{color:var(--accent-ink);background:color-mix(in oklch,var(--accent) 22%,transparent);border-color:color-mix(in oklch,var(--accent) 45%,var(--glass-border))}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app-shell{display:flex;min-height:100vh;align-items:flex-start}.sidebar{position:sticky;top:0;width:var(--sidebar-w);height:100vh;flex-shrink:0;padding:18px 14px;display:flex;flex-direction:column;gap:9px;overflow:hidden}.brand-tile{flex-shrink:0;padding:14px 16px;border-radius:18px;margin-bottom:2px;display:flex;align-items:center;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--accent-ink);background:var(--surface);box-shadow:var(--elev-sm);transition:transform var(--t-fast) var(--ease),color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.nav-item:hover{color:var(--accent-ink);transform:translateY(-1px);box-shadow:var(--elev-sm-hover)}.nav-item:active{transform:translateY(0);box-shadow:var(--elev-sm)}.nav-item.active{color:var(--accent-ink);font-weight:700;background:color-mix(in oklch,var(--accent) 28%,var(--surface))}.brand-link{display:flex;min-width:0;text-decoration:none;color:inherit;border-radius:12px}.nav-groups{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin-right:-6px;padding-right:6px}.nav-groups::-webkit-scrollbar{width:6px}.nav-groups::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--muted) 30%,transparent);border-radius:99px}.nav-group{display:flex;flex-direction:column}.nav-group-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px 5px;border:none;background:none;cursor:pointer;color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:color var(--t-fast) var(--ease)}.nav-group-head:hover{color:var(--muted)}.nav-group-chevron{flex-shrink:0;transition:transform var(--t-knob) var(--ease)}.nav-group-head[data-open=false] .nav-group-chevron{transform:rotate(-90deg)}.nav-group-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t-knob) var(--ease)}.nav-group-body[data-open=false]{grid-template-rows:0fr}.nav-group-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:8px;padding:3px 0 8px;transition:padding var(--t-knob) var(--ease)}.nav-group-body[data-open=false] .nav-group-inner{padding-top:0;padding-bottom:0}.user-card{flex-shrink:0;margin-top:4px;padding:11px;border-radius:18px;display:flex;align-items:center;gap:11px;box-shadow:var(--elev-sm)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--t-lav-bg);color:var(--t-lav-ink);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-settings{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;color:var(--muted);transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-knob) var(--ease)}.user-settings:hover{color:var(--accent-ink);background:color-mix(in oklch,var(--accent) 14%,transparent);transform:rotate(45deg)}.user-settings.active{color:var(--accent-ink)}.app-main{--app-gap: 22px;flex:1;min-width:0;width:100%;max-width:var(--content-max);margin:0 auto;padding:18px 30px 40px;display:flex;flex-direction:column;gap:var(--app-gap)}.tabbar{display:none}@media(max-width:860px){.sidebar{display:none}.app-main{--app-gap: 14px;padding:12px 14px calc(78px + env(safe-area-inset-bottom));gap:var(--app-gap)}.display-title{font-size:23px}.hide-mobile{display:none!important}.dash-bottombar{margin-bottom:4px}.tabbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(4px + env(safe-area-inset-bottom));z-index:50;justify-content:space-around;align-items:stretch;padding:7px 6px;border-radius:21px;gap:2px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:14px;color:var(--muted);font-size:10.5px;font-weight:600;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.tab.active{color:var(--accent-ink);background:var(--accent-soft)}}@media(display-mode:standalone){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior-y:none}input,textarea,[contenteditable=true],[contenteditable=""]{-webkit-user-select:text;user-select:text}}.grid{display:grid;gap:20px}.cols-12{grid-template-columns:repeat(12,1fr);grid-auto-flow:row dense}@media(max-width:980px){.cols-12{grid-template-columns:repeat(6,1fr)}}@media(max-width:640px){.cols-12{grid-template-columns:1fr}.cols-12>*{grid-column:1 / -1!important}}.row{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}.clock-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 160px 0 6px;margin-top:calc(-1 * var(--app-gap) - 4px)}.clock-lead{min-width:0}.clock-greeting{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:38px;line-height:1.04;letter-spacing:-.01em;color:var(--text)}.clock-date{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:20px;color:var(--muted);margin-top:3px}.clock-time{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:40px;font-weight:400;letter-spacing:.01em;line-height:1;color:var(--muted);flex-shrink:0}@media(max-width:860px){.clock-bar{margin-top:calc(-1 * var(--app-gap) + 2px);padding-right:120px;gap:12px}.clock-greeting{font-size:34px}.clock-time{font-size:24px}.clock-date{font-size:16px}}@media(max-width:480px){.clock-bar{padding-right:104px}.clock-greeting{font-size:30px}.clock-time{font-size:21px}.clock-date{font-size:15px}}.overview-hero{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;padding:8px 10px 18px}.hero-score{display:flex;align-items:center;gap:24px}.hero-perf{display:flex;flex-direction:column;gap:12px;min-width:300px;flex:1;max-width:520px}.hero-rendite{font-size:34px}@media(max-width:860px){.overview-hero{gap:26px;padding:4px 4px 10px}.hero-perf{min-width:100%}.hero-rendite{font-size:28px}}.tabbar button.tab{background:transparent;border:none;font-family:inherit;cursor:pointer}.tabbar button.tab.active{background:var(--accent-soft)}.more-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;animation:more-fade .18s ease}.more-sheet{width:100%;max-height:82vh;border-radius:26px 26px 0 0;padding:0 0 calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;animation:more-slide .26s cubic-bezier(.22,1,.36,1);box-shadow:0 -10px 44px #00000052;background:var(--card);border-top:1px solid var(--border)}.more-head{padding:10px 18px 6px}.more-grip{display:block;width:38px;height:4px;border-radius:99px;background:var(--border);margin:0 auto 12px}.more-head-row{display:flex;align-items:center;justify-content:space-between}.more-head-row h2{font-size:19px;font-weight:700}.more-scroll{overflow-y:auto;padding:6px 14px 8px;-webkit-overflow-scrolling:touch}.more-group{margin-top:14px}.more-group:first-child{margin-top:4px}.more-group-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 6px 7px}.more-items{display:flex;flex-direction:column;gap:8px}.more-item{display:flex;align-items:center;gap:13px;padding:12px;border-radius:15px;color:var(--text);background:var(--card-2);border:1px solid var(--border)}.more-item:active{background:var(--accent-soft);border-color:var(--accent)}.more-item.active{background:var(--accent-soft)}.more-item.active .more-item-icon,.more-item.active .more-item-label{color:var(--accent-ink)}.more-item-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--surface);color:var(--accent-ink);flex-shrink:0}.more-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.more-item-label{font-size:15px;font-weight:600}.more-item-kicker{font-size:12px;color:var(--muted)}.tab-edit-item{width:100%;cursor:pointer;font:inherit;text-align:left}.tab-edit-item:disabled{opacity:.45;cursor:not-allowed}.tab-edit-item .more-item-text{flex:1;min-width:0}.tab-edit-item.on{border-color:var(--accent);background:var(--accent-soft)}.tab-edit-item.on .more-item-icon{color:var(--accent-ink)}.tab-edit-toggle{margin-left:auto;flex-shrink:0;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--muted)}.tab-edit-item.on .tab-edit-toggle{background:var(--accent);color:#fff}@keyframes more-fade{0%{opacity:0}to{opacity:1}}@keyframes more-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.lock-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.lock-panel{width:100%;max-width:400px;display:flex}.lock-auth{flex:1;display:flex;align-items:center;justify-content:center}.lock-hero{display:none}.lock-card{width:100%;max-width:340px;padding:30px 26px 26px;display:flex;flex-direction:column;align-items:center;gap:20px}@media(min-width:860px){.lock-panel{max-width:920px;min-height:580px;border-radius:30px;overflow:hidden;background:var(--card);border:1px solid var(--border);box-shadow:0 34px 90px -34px #0000008c}.lock-hero{display:flex;flex-direction:column;justify-content:space-between;gap:30px;width:46%;padding:52px 46px;color:#fff;background:radial-gradient(130% 120% at 0% 0%,color-mix(in oklch,var(--accent) 62%,transparent),transparent 58%),linear-gradient(158deg,color-mix(in oklch,var(--accent) 82%,#15100c),color-mix(in oklch,var(--accent) 34%,#0b0907))}.lock-auth{width:54%;padding:40px}.lock-card.glass{max-width:330px;padding:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}.lock-hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.82}.lock-hero-title{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:48px;line-height:1.02;margin:10px 0 14px}.lock-hero-tagline{font-size:15px;line-height:1.5;opacity:.92;max-width:32ch}.lock-hero-points{display:flex;flex-direction:column;gap:15px;list-style:none;padding:0;margin:0}.lock-hero-points li{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600}.lock-hero-points svg{flex-shrink:0;opacity:.95}.lock-hero-foot{font-size:12.5px;opacity:.72}.pin-dots{display:flex;gap:16px}.pin-dot{width:13px;height:13px;border-radius:50%;border:2px solid var(--track);background:transparent;transition:all var(--t-fast) var(--ease)}.pin-dot.filled{border-color:var(--accent);background:var(--accent)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:260px}.key{aspect-ratio:1;border-radius:50%;border:1px solid var(--border);background:var(--card-2);font-size:24px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);transition:background var(--t-fast) var(--ease),transform .08s var(--ease);-webkit-tap-highlight-color:transparent}.key:hover{background:var(--accent-soft)}.key:active{transform:scale(.94)}.key-icon{background:transparent;border-color:transparent;color:var(--muted)}.key-icon:hover{background:var(--card-2)}.lock-bio-icon{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}.btn-primary{width:100%;padding:13px;border-radius:14px;border:none;background:var(--accent);color:#fff;font-weight:700;font-size:15px;cursor:pointer;transition:filter var(--t-fast) var(--ease)}.btn-primary:hover{filter:brightness(1.06)}.btn-ghost{width:100%;padding:12px;border-radius:14px;border:none;background:transparent;color:var(--muted);font-weight:600;font-size:13.5px;cursor:pointer}.btn-ghost:hover{color:var(--text)}@keyframes shakeX{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.shake{animation:shakeX .42s var(--ease)}.ui-dd,.ui-dp{position:relative;width:100%}.ui-dd-btn,.ui-dp-field{width:100%;display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.ui-dd-btn:hover,.ui-dp-field:hover{border-color:color-mix(in oklch,var(--accent) 40%,var(--border))}.ui-dd-btn[data-open=true],.ui-dp-field[data-open=true]{border-color:var(--accent)}.ui-dd-btn:disabled{cursor:not-allowed;opacity:.5}.ui-dd-btn:disabled:hover{border-color:var(--border)}.ui-dd-value{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.ui-dd-chev{flex-shrink:0;color:var(--muted);transition:transform var(--t-fast) var(--ease)}.ui-dd-btn[data-open=true] .ui-dd-chev{transform:rotate(180deg)}.ui-dd-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.ui-dd-menu{position:fixed;z-index:1000;padding:6px;display:flex;flex-direction:column;gap:2px;border-radius:14px;border:1px solid var(--glass-border);background:var(--card);box-shadow:var(--elev);overflow-y:auto;animation:dd-in .13s var(--ease)}@keyframes dd-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-dd-opt{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:none;border-radius:9px;background:transparent;color:var(--text);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--t-fast) var(--ease)}.ui-dd-opt:hover{background:var(--card-2)}.ui-dd-opt.sel{color:var(--accent-ink)}.ui-dd-opt svg{color:var(--accent)}.ui-dp-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;color:var(--muted);flex-shrink:0}.ui-dp-clear:hover{background:var(--card);color:var(--text)}.ui-dp-pop{position:fixed;z-index:1000;width:280px;max-width:calc(100vw - 16px);overflow-y:auto;padding:12px;border-radius:16px;border:1px solid var(--glass-border);background:var(--card);box-shadow:var(--elev);animation:dd-in .13s var(--ease)}.ui-dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ui-dp-title{font-size:14px;font-weight:700}.ui-dp-nav{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:9px;background:var(--card-2);color:var(--muted);cursor:pointer;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.ui-dp-nav:hover{color:var(--text);background:var(--track)}.ui-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ui-dp-wd{margin-bottom:2px}.ui-dp-wdlabel{text-align:center;font-size:10.5px;font-weight:700;color:var(--faint);padding:2px 0}.ui-dp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:9px;background:transparent;color:var(--text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.ui-dp-day:hover{background:var(--card-2)}.ui-dp-day.today{color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--accent) 55%,transparent)}.ui-dp-day.sel{background:var(--accent);color:#fff;box-shadow:none}.ui-dp-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.ui-dp-link{border:none;background:none;color:var(--accent-ink);font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;padding:2px 4px}.ui-dp-link:hover{text-decoration:underline}.day-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.day-nav-step{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:11px;background:var(--card-2);color:var(--text);cursor:pointer;flex-shrink:0;transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.day-nav-step:hover{border-color:color-mix(in oklch,var(--accent) 40%,var(--border));color:var(--accent-ink)}.day-nav-label{min-width:0}.day-nav-rel{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.1}.day-nav-date{font-size:12.5px;font-weight:600;color:var(--muted)}.day-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin}.day-pill{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:56px;padding:9px 0 8px;border:1px solid var(--border);border-radius:14px;background:var(--card-2);color:var(--text);cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.day-pill:hover{transform:translateY(-1px);border-color:color-mix(in oklch,var(--accent) 40%,var(--border))}.day-pill-wd{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.day-pill-num{font-size:17px;font-weight:800;line-height:1}.day-pill.today .day-pill-wd{color:var(--accent-ink)}.day-pill.today{box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--accent) 50%,transparent)}.day-pill.sel{background:var(--accent);border-color:var(--accent);box-shadow:none}.day-pill.sel .day-pill-wd,.day-pill.sel .day-pill-num{color:#fff}.day-pill-badge{position:absolute;top:-6px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:var(--elev-sm)}.day-pill.sel .day-pill-badge{background:#fff;color:var(--accent-ink)}.time-input{width:100%;padding:10px 13px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:14px;font-weight:600;font-family:inherit;outline:none;transition:border-color var(--t-fast) var(--ease)}.time-input:focus{border-color:var(--accent)}.task-add-row{display:flex;align-items:center;gap:13px;width:100%;padding:12px 2px;background:none;border:none;cursor:pointer;text-align:left;color:var(--muted);font-size:14.5px;font-weight:600;font-family:inherit;border-radius:10px;transition:color var(--t-fast) var(--ease)}.task-add-row:hover{color:var(--accent-ink)}.task-add-icon{width:23px;height:23px;flex-shrink:0;border-radius:7px;border:2px dashed var(--track);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.task-add-row:hover .task-add-icon{border-color:color-mix(in oklch,var(--accent) 45%,var(--track));color:var(--accent-ink)}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.kanban-col{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:220px;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.kanban-col.over{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 6%,var(--card))}.kanban-col-head{display:flex;align-items:center;gap:8px;padding:2px 4px}.kanban-col-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex-shrink:0}.kanban-col-doing .kanban-col-dot{background:var(--accent)}.kanban-col-done .kanban-col-dot{background:var(--green)}.kanban-col-title{font-weight:700;font-size:13.5px}.kanban-col-count{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted);background:var(--card-2);border-radius:99px;padding:1px 9px}.kanban-col-body{display:flex;flex-direction:column;gap:9px;min-height:60px;flex:1}.kanban-card{background:var(--card-2);border:1px solid var(--border);border-left:3px solid transparent;border-radius:12px;padding:10px 11px;cursor:grab;box-shadow:var(--elev-sm);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.kanban-card:hover{box-shadow:var(--elev-sm-hover);transform:translateY(-1px)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4}.kanban-card-top{display:flex;align-items:flex-start;gap:10px}.kanban-card-label{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.35;color:var(--text);cursor:pointer;word-break:break-word}.kanban-card-label.done{color:var(--faint);text-decoration:line-through}.kanban-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px;padding-left:30px}.kanban-card-urg{font-size:10px;font-weight:800;letter-spacing:.04em}.kanban-card-date{font-size:11.5px;font-weight:600;color:var(--muted)}.kanban-card-date.overdue{color:var(--red)}.kanban-card-tag{font-size:10.5px;font-weight:600;color:var(--muted);background:var(--surface);border-radius:6px;padding:1px 7px}.kanban-empty{text-align:center;font-size:12px;color:var(--faint);border:1.5px dashed var(--border);border-radius:10px;padding:14px 8px}.kanban-col.over .kanban-empty{border-color:var(--accent);color:var(--muted)}.kanban-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px;border-radius:10px;border:1px dashed var(--border);background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.kanban-add:hover{color:var(--accent-ink);border-color:var(--accent)}@media(max-width:760px){.kanban{grid-template-columns:1fr}}.pipe-row{display:flex;gap:8px;flex-wrap:wrap}.pipe{flex:1 1 108px;min-width:100px;display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--card-2);color:var(--text);cursor:pointer;text-align:left;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.pipe:hover{transform:translateY(-1px);border-color:color-mix(in oklch,var(--accent) 40%,var(--border))}.pipe.sel{border-color:var(--accent);background:var(--accent-soft)}.pipe-n{font-size:21px;font-weight:800;line-height:1;letter-spacing:-.02em}.pipe-l{font-size:12px;font-weight:700;color:var(--muted)}.pipe-cap{font-size:11.5px;font-weight:600;color:var(--faint)}.crm-scroll{overflow-x:auto}.crm-table{min-width:680px;display:flex;flex-direction:column}.crm-head,.crm-row{display:grid;grid-template-columns:minmax(150px,2fr) 110px 110px 64px 90px 130px 44px;align-items:center;gap:12px}.crm-head{padding:0 8px 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--border)}.crm-row{padding:11px 8px;border-bottom:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13.5px;transition:background var(--t-fast) var(--ease)}.crm-row:hover{background:var(--card-2)}.crm-r{text-align:right}.crm-name{display:flex;flex-direction:column;gap:1px;min-width:0}.crm-name-main{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-sub{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-actions{display:flex;justify-content:flex-end;opacity:0;transition:opacity var(--t-fast) var(--ease)}.crm-row:hover .crm-actions{opacity:1}.plan-group{display:flex;flex-direction:column;gap:4px}.plan-head{display:flex;align-items:center;gap:10px;padding:2px 2px 6px}.plan-dot{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}.plan-title{font-weight:700;font-size:14.5px}.plan-items{display:flex;flex-direction:column}.ms-row{display:flex;align-items:center;gap:11px;padding:8px 4px;border-radius:8px}.ms-row:hover{background:var(--card-2)}.ms-title{flex:1;font-size:14px;font-weight:600;cursor:pointer;min-width:0}.ms-due{font-size:11.5px;font-weight:700;color:var(--muted);background:var(--card-2);padding:3px 8px;border-radius:8px;flex-shrink:0}.ms-row:hover .ms-due{background:var(--card)}.ms-due.overdue{color:var(--red);background:var(--t-pink-bg)}.ms-del{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:7px;background:transparent;color:var(--faint);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--t-fast) var(--ease),color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.ms-row:hover .ms-del{opacity:1}.ms-del:hover{color:var(--red);background:var(--card)}.ms-add{display:flex;align-items:center;gap:11px;padding:9px 4px}.ms-add input{flex:1;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:600;font-family:inherit;outline:none}.ms-add input::placeholder{color:var(--faint)}.copy-tabbar{padding:8px;position:sticky;top:0;z-index:5}.link-btn{background:none;border:none;color:var(--accent-ink);font-size:13px;font-weight:700;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.copy-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.copy-tier{border:1px solid var(--border);border-radius:14px;background:var(--card-2);padding:14px 16px;display:flex;flex-direction:column;gap:3px}.copy-tier-name{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.copy-tier-split{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--accent-ink);line-height:1}.copy-tier-split span{font-size:17px;font-weight:700;margin-left:1px}.copy-tier-min{font-size:12.5px;font-weight:600;color:var(--faint)}.tier-edit-list{display:flex;flex-direction:column;gap:8px}.tier-edit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tier-edit-field{display:flex;align-items:center;gap:5px}.tier-edit-pre{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.tier-edit-input{width:80px;padding:8px 10px;border-radius:9px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:13.5px;font-family:inherit;outline:none}.tier-edit-input:focus{border-color:var(--accent)}.tier-add-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:9px;background:var(--card-2);border:1px solid var(--border);color:var(--muted);font-size:12.5px;font-weight:700;cursor:pointer}.tier-add-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.copy-rev-empty{display:flex;align-items:flex-start;gap:14px;padding:16px;border-radius:14px;border:1px dashed var(--border);background:var(--card-2);color:var(--accent-ink)}.copy-rev-empty strong{color:var(--text);font-size:14.5px}.rev-list{display:flex;flex-direction:column}.rev-row{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:12px;padding:11px 6px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:8px}.rev-row:last-child{border-bottom:none}.rev-row:hover{background:var(--card-2)}.rev-month{font-weight:700;font-size:13.5px}.rev-copier{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rev-amt{font-weight:800;font-size:15px;color:var(--green)}@media(max-width:560px){.rev-row{grid-template-columns:1fr auto}.rev-copier{grid-column:1 / -1}}.ring-wrap{position:relative;flex-shrink:0}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.launch-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.launch-ring-val{font-size:31px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1}.launch-ring-val small{font-size:15px;font-weight:700;color:var(--muted);margin-left:1px}.launch-meta{flex:1;min-width:210px;display:flex;flex-direction:column;gap:7px}.launch-label{font-size:19px;font-weight:800;letter-spacing:-.01em}.launch-sub{font-size:13.5px;color:var(--muted);font-weight:600}.launch-sub strong{color:var(--text)}.launch-phasebar{display:flex;gap:4px;margin-top:5px}.launch-seg{flex:1;height:7px;border-radius:4px;background:var(--track);overflow:hidden}.launch-seg-fill{height:100%;border-radius:4px;transition:width .3s var(--ease)}.roadmap{display:flex;flex-direction:column}.rm-phase{display:grid;grid-template-columns:50px 1fr;column-gap:16px;position:relative;padding-bottom:14px}.rm-rail{display:flex;justify-content:center}.rm-rail .ring-wrap{background:var(--surface);border-radius:50%;z-index:1}.rm-node-icon{display:inline-flex}.rm-line{position:absolute;top:50px;bottom:0;left:25px;transform:translate(-50%);width:2px;background:var(--border)}.rm-phase.done .rm-line,.rm-phase.done~.rm-phase.done .rm-line{background:color-mix(in oklch,var(--green) 45%,var(--border))}.rm-card{background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:13px 15px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.rm-phase.current .rm-card{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rm-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rm-num{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.rm-title{font-size:15.5px;font-weight:700;flex:1;min-width:0}.rm-status{font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;flex-shrink:0}.rm-status.done{background:color-mix(in oklch,var(--green) 16%,transparent);color:var(--green)}.rm-status.current{background:var(--accent-soft);color:var(--accent-ink)}.rm-status.prog{background:var(--surface);color:var(--muted)}.rm-status.idle{background:var(--surface);color:var(--faint)}.rm-hint{font-size:12.5px;color:var(--faint);font-weight:600;margin-top:3px}.rm-steps{display:flex;flex-direction:column;margin-top:9px}.ziele-pillar-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.ziele-pillar-row:last-child{border-bottom:none}.ziele-pillar-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ziele-pillar-label{flex:1;font-size:14px;font-weight:600;color:var(--text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ziele-pillar-count{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0}.ziele-pillar-bar{width:100px;flex-shrink:0}.ziele-goal-row{display:flex;align-items:center;gap:10px;padding:9px 6px 9px 2px;border-radius:10px;transition:background var(--t-fast, .14s) var(--ease, ease);cursor:pointer}.ziele-goal-row:hover{background:var(--card-2)}.ziele-goal-title{flex:1;font-size:14px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);transition:color var(--t-fast, .14s) var(--ease, ease)}.ziele-goal-title.done{text-decoration:line-through;color:var(--faint)}.ziele-goal-chips{display:flex;align-items:center;gap:6px;flex-shrink:0}.ziele-goal-progress{width:70px;flex-shrink:0}.ziele-horizon-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.ziele-stats-row{display:flex;gap:28px;flex-wrap:wrap}.ziele-widget-row{display:flex;align-items:center;gap:8px}.ziele-widget-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ziele-widget-label{font-size:12px;font-weight:600;color:var(--muted);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ziele-widget-bar{width:72px;flex-shrink:0}.ziele-tabs-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ziele-due-overdue{background:var(--t-pink-bg)!important;color:var(--red)!important}.pillar-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--pillar-min, 290px),1fr));gap:16px}@media(max-width:560px){.pillar-gallery{grid-template-columns:repeat(auto-fill,minmax(min(var(--pillar-min, 290px),100%),1fr));gap:12px}}.pillar-card{display:flex;flex-direction:column;text-align:left;background:var(--card-2);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}.pillar-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--elev-sm-hover)}.pillar-card-media{position:relative;aspect-ratio:16 / 10;background:var(--surface);overflow:hidden}.pillar-card-media img{width:100%;height:100%;object-fit:cover;display:block}.pillar-card-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:.85}.pillar-card-imgactions{position:absolute;top:8px;right:8px;display:flex;gap:6px}.pillar-card-imgactions button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:none;cursor:pointer;color:#fff;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:background .14s var(--ease)}.pillar-card-imgactions button:hover{background:#000000bf}.pillar-card-imgactions button.danger:hover{background:var(--red)}.pillar-card-body{padding:11px 13px 13px;display:flex;flex-direction:column;gap:9px}.pillar-card-head{display:flex;align-items:center;gap:9px}.pillar-card-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pillar-card-name{flex:1;min-width:0;font-weight:700;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pillar-card-count{flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--muted)}.ziele-back{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--card-2);border:1px solid var(--border);color:var(--text);cursor:pointer;flex-shrink:0;transition:border-color .14s var(--ease),color .14s var(--ease)}.ziele-back:hover{border-color:var(--accent);color:var(--accent-ink)}.pillar-detail-banner{border-radius:14px;overflow:hidden;aspect-ratio:21 / 8;background:var(--surface)}.pillar-detail-banner img{width:100%;height:100%;object-fit:cover;display:block}.ziele-horizon-block{display:flex;flex-direction:column;gap:2px}.ziele-horizon-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 7px;margin-bottom:3px;border-bottom:1px solid var(--border)}.ziele-horizon-title{font-size:15px;font-weight:700}.ziele-add-goal{display:flex;align-items:center;gap:9px;width:100%;padding:9px 6px;margin-top:2px;border-radius:10px;color:var(--muted);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease)}.ziele-add-goal:hover{background:var(--card-2);color:var(--text)}.ziele-add-icon{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:var(--card-2);color:var(--accent-ink);flex-shrink:0}.nci-section-label{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);margin:6px 0 -2px;padding-top:10px;border-top:1px solid var(--border)}.nci-bullets{display:flex;flex-direction:column;gap:6px}.nci-bullet-row{display:flex;align-items:center;gap:8px}.nci-bullet-dot{color:var(--accent-ink);font-weight:800;flex-shrink:0;width:8px;text-align:center}.nci-bullet-input{flex:1;min-width:0;padding:8px 11px;border-radius:10px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:13.5px;font-family:inherit;outline:none}.nci-bullet-input:focus{border-color:var(--accent)}.nci-bullet-input::placeholder{color:var(--faint)}.nci-bullet-rm{flex-shrink:0;width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease)}.nci-bullet-rm:hover{background:var(--t-pink-bg);color:var(--red)}.nci-bullet-add{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;margin-top:2px;padding:5px 10px;border-radius:9px;background:var(--card-2);border:1px solid var(--border);color:var(--muted);font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .14s var(--ease),color .14s var(--ease)}.nci-bullet-add:hover{border-color:var(--accent);color:var(--accent-ink)}.pillar-card-media.has-img .pillar-card-imgactions{opacity:0;pointer-events:none;transition:opacity .15s var(--ease)}.pillar-card:hover .pillar-card-media.has-img .pillar-card-imgactions{opacity:1;pointer-events:auto}.ziele-detail-head{display:flex;align-items:center;gap:11px}.ziele-detail-titletext{display:flex;flex-direction:column;min-width:0;line-height:1.2}.ziele-detail-sub{font-size:12px;font-weight:600;color:var(--muted);font-family:var(--font-sans, inherit);letter-spacing:0}.ziele-horizon-goals{display:flex;flex-direction:column;gap:8px}.goal-row{display:flex;align-items:center;gap:12px;padding:11px 13px;background:var(--card-2);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease)}.goal-row:hover{border-color:color-mix(in oklch,var(--accent) 55%,var(--border))}.goal-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.goal-row-title{font-size:14.5px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.goal-row-title.done{color:var(--faint);text-decoration:line-through}.goal-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.goal-row-pct{font-size:11.5px;font-weight:700;color:var(--muted)}.goal-row-plan{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--accent-ink)}.goal-row-due{font-size:11.5px;font-weight:600;color:var(--faint)}.goal-row-due.overdue{color:var(--red)}.goal-row-bar{max-width:260px}.goal-row-chev{color:var(--faint);flex-shrink:0}.goal-add{display:flex;align-items:center;gap:11px;padding:4px 2px}.goal-add-icon{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--card-2);border:1px dashed var(--border);color:var(--muted);flex-shrink:0}.goal-add input{flex:1;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:600;outline:none;font-family:inherit}.goal-add input::placeholder{color:var(--faint)}.nci-toggle{display:flex;align-items:center;gap:9px;width:100%;margin-top:4px;padding:11px 13px;border-radius:11px;background:var(--card-2);border:1px solid var(--border);color:var(--text);cursor:pointer;font-family:inherit;transition:border-color .14s var(--ease)}.nci-toggle:hover{border-color:var(--accent)}.nci-toggle svg{color:var(--muted);transition:transform .18s var(--ease)}.nci-toggle.open svg{transform:rotate(180deg)}.nci-toggle-label{font-size:14px;font-weight:700;flex:1;text-align:left}.nci-toggle-hint{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.nci-body{display:flex;flex-direction:column;gap:16px}.sport-run-list{display:flex;flex-direction:column;gap:0}.sport-run-row{display:grid;grid-template-columns:70px 1fr 90px 90px 80px 32px;align-items:center;gap:8px;padding:9px 6px;border-radius:8px;cursor:pointer;transition:background .15s}.sport-run-row:hover{background:var(--card-2)}.sport-run-row:hover .sport-run-del{opacity:1}.sport-run-date{display:flex;flex-direction:column;gap:1px}.sport-run-wd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.sport-run-day{font-size:13.5px;font-weight:600;color:var(--text)}.sport-run-dist{font-size:14.5px;font-weight:700;font-variant-numeric:tabular-nums}.sport-run-dur{font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.sport-run-pace{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.sport-run-note{font-size:12px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-run-del{opacity:0;transition:opacity .15s;background:none;border:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;padding:0}.sport-run-del:hover{color:var(--red);background:var(--t-pink-bg)}.sport-run-head{display:grid;grid-template-columns:70px 1fr 90px 90px 80px 32px;gap:8px;padding:4px 6px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.sport-run-head-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint)}.sport-run-head-r{text-align:right}@media(max-width:560px){.sport-run-head,.sport-run-row{grid-template-columns:52px 1fr auto 28px;gap:8px}.sport-run-head>:nth-child(2),.sport-run-head>:nth-child(5){display:none}.sport-run-row>.sport-run-note,.sport-run-row>.sport-run-pace{display:none}}.sport-sort-btn{display:flex;align-items:center;gap:3px;width:100%;justify-content:flex-start;background:none;border:none;cursor:pointer;padding:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);transition:color .15s}.sport-sort-btn.r{justify-content:flex-end}.sport-sort-btn:hover{color:var(--muted)}.sport-sort-btn.active{color:var(--accent-ink)}.sport-runs-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;cursor:pointer;padding:6px 4px;font-size:13.5px;font-weight:700;color:var(--text)}.sport-runs-count{font-size:12px;font-weight:600;color:var(--muted);background:var(--card-2);border-radius:99px;padding:1px 9px}.sport-runs-chev{color:var(--muted);transition:transform .2s var(--ease)}.sport-runs-chev[data-open=false]{transform:rotate(-90deg)}.sport-skill-groups{display:flex;flex-direction:column;gap:28px}.sport-skill-group{display:flex;flex-direction:column;gap:12px}.sport-skill-group-head{display:flex;align-items:baseline;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.sport-skill-group-name{font-size:15px;font-weight:700;color:var(--text);margin:0;line-height:1.2}.sport-skill-group-count{font-size:12px;font-weight:600;color:var(--muted);background:var(--card-2);border-radius:99px;padding:2px 10px}.sport-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:2px}.sport-skill-card{display:flex;flex-direction:column;gap:10px;position:relative}.sport-skill-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sport-skill-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.2}.sport-skill-card-wrap{cursor:pointer;border-radius:16px;outline:none}.sport-skill-card-wrap:focus-visible{box-shadow:0 0 0 2px var(--accent)}.sport-skill-actions{display:flex;gap:4px;flex-shrink:0;opacity:.4;transition:opacity .15s}.sport-skill-card-wrap:hover .sport-skill-actions{opacity:1}.sport-skill-action-btn{background:none;border:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;padding:0;transition:color .12s,background .12s}.sport-skill-action-btn:hover{background:var(--card-2);color:var(--text)}.sport-skill-action-btn.danger:hover{background:var(--t-pink-bg);color:var(--red)}.sport-skill-value{display:flex;align-items:baseline;gap:4px}.sport-skill-current{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent);line-height:1}.sport-skill-sep{font-size:18px;font-weight:400;color:var(--faint)}.sport-skill-goal{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}.sport-skill-unit{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-left:2px}.sport-skill-note{font-size:12px;color:var(--faint);font-style:italic}.sport-quicklog{display:flex;align-items:center;gap:8px;margin-top:2px}.sport-quicklog-input{flex:1;min-width:0}.sport-stat-row{display:flex;flex-wrap:wrap;gap:28px}.sport-sparkline{border-radius:8px;overflow:hidden}.sport-empty{font-size:13.5px;color:var(--muted);padding:10px 2px}.sport-runchart{position:relative;width:100%;border-radius:8px;touch-action:none}.sport-runchart-dot{position:absolute;width:9px;height:9px;margin-left:-4.5px;margin-top:-4.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);pointer-events:none}.sport-runchart-tip{position:absolute;bottom:calc(100% + 10px);transform:translate(-50%);min-width:110px;padding:8px 10px;border-radius:10px;background:var(--card-2);border:1px solid var(--border);box-shadow:0 8px 24px #00000047;pointer-events:none;z-index:5;white-space:nowrap}.sport-runchart-tip[data-edge=start]{transform:translate(-12px)}.sport-runchart-tip[data-edge=end]{transform:translate(calc(-100% + 12px))}.sport-runchart-tip-date{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px}.sport-runchart-tip-row{display:flex;align-items:baseline;gap:8px}.sport-runchart-tip-val{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.sport-runchart-tip-sub{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.sport-runchart-tip-pace{font-size:12px;font-variant-numeric:tabular-nums;color:var(--faint);margin-top:2px}.sport-skill-detail-head{display:flex;flex-direction:column;gap:10px}.sport-skill-detail-load{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-ink);margin-left:6px}.sport-skill-detail-chart{border-radius:8px;overflow:hidden}.sport-skill-detail-log{display:flex;flex-direction:column;gap:8px}.sport-skill-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:280px;overflow-y:auto}.sport-skill-log-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px;border-bottom:1px solid var(--border)}.sport-skill-log-row:last-child{border-bottom:none}.sport-skill-log-date{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.sport-skill-log-val{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.fin-gate{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px}.fin-gate-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:18px;padding:30px 26px;border-radius:22px}.fin-gate-icon{width:60px;height:60px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink)}.fin-gate-title{text-align:center}.fin-gate-pin{display:flex;gap:10px;width:100%}.fin-gate-pin input{flex:1;text-align:center;letter-spacing:.4em;font-size:18px;font-weight:700;padding:12px 14px;border-radius:13px;border:1px solid var(--border);background:var(--card-2);color:var(--text);outline:none;font-family:inherit}.fin-gate-pin input:focus{border-color:var(--accent)}.fin-gate-actions{display:flex;flex-direction:column;gap:10px;width:100%}.fin-gate.shake{animation:fin-shake .42s var(--ease, ease)}@keyframes fin-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.fin-toolbar{display:flex;align-items:center;gap:8px}.fin-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 13px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:filter var(--t-fast, .15s) var(--ease, ease)}.fin-icon-btn:hover{filter:brightness(1.08)}.fin-row{display:flex;align-items:center;gap:14px;padding:12px;border-radius:13px;cursor:pointer;border:1px solid transparent;transition:background var(--t-fast, .15s) var(--ease, ease),border-color var(--t-fast, .15s) var(--ease, ease)}.fin-row:hover{background:var(--card-2);border-color:var(--border)}.fin-bucket-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 0}.agent-card{display:flex;flex-direction:column;padding:18px 20px;height:calc(100dvh - 150px);min-height:460px}.agent-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.agent-head-title{display:flex;align-items:center;gap:12px;min-width:0}.agent-sub{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agent-effort{display:flex;align-items:center;gap:6px}.agent-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink);flex-shrink:0}.agent-badge-sm{width:26px;height:26px;border-radius:8px;align-self:flex-end}.agent-badge-lg{width:56px;height:56px;border-radius:17px;margin-bottom:4px}.agent-history-wrap{position:relative}.agent-history-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.agent-history-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;width:280px;max-height:360px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--elev);padding:6px}.agent-history-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;cursor:pointer}.agent-history-item:hover{background:var(--card-2)}.agent-history-item.active{background:var(--accent-soft)}.agent-history-item.active .agent-history-title{color:var(--accent-ink)}.agent-history-title{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-history-del{background:none;border:none;cursor:pointer;color:var(--muted);width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agent-history-del:hover{color:var(--red);background:var(--t-pink-bg)}.agent-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:18px 2px 6px;-webkit-overflow-scrolling:touch}.agent-msg{display:flex;gap:8px;max-width:760px}.agent-msg-user{align-self:flex-end;flex-direction:row-reverse}.agent-msg-assistant{align-self:flex-start}.agent-bubble{padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.agent-msg-user .agent-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:5px}.agent-msg-assistant .agent-bubble{background:var(--card-2);color:var(--text);border-bottom-left-radius:5px}.agent-att-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.agent-att-pending{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.agent-att-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:8px;background:var(--card-2);color:var(--text);max-width:200px}.agent-msg-user .agent-att-chip{background:#ffffff2e;color:#fff}.agent-att-pending .agent-att-chip{background:var(--accent-soft);color:var(--accent-ink)}.agent-att-chip button{background:none;border:none;cursor:pointer;color:inherit;display:inline-flex;padding:0;opacity:.7}.agent-att-chip button:hover{opacity:1}.agent-typing{display:flex;align-items:center;gap:5px}.agent-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:agent-bounce 1.2s infinite ease-in-out}.agent-typing span:nth-child(2){animation-delay:.15s}.agent-typing span:nth-child(3){animation-delay:.3s}@keyframes agent-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.agent-error{align-self:center;font-size:13px;color:var(--red);background:var(--t-pink-bg);padding:8px 14px;border-radius:10px}.agent-empty{margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px}.agent-greeting{display:inline-flex;align-items:center;gap:14px;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:42px;line-height:1.04;letter-spacing:-.01em;color:var(--text);text-align:center;margin:0}.agent-greeting-star{color:var(--accent);flex-shrink:0}.agent-input-bar{display:flex;flex-direction:column;padding-top:12px;border-top:1px solid var(--border)}.agent-input-row{display:flex;align-items:flex-end;gap:8px}.agent-input{flex:1;resize:none;max-height:200px;min-height:44px;overflow-y:auto;padding:12px 14px;border-radius:14px;background:var(--card-2);border:1px solid var(--border);color:var(--text);font:inherit;font-size:14.5px;line-height:1.5}.agent-input:focus{outline:none;border-color:var(--accent)}.agent-attach,.agent-send{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;border:none;cursor:pointer;flex-shrink:0;transition:filter .15s,opacity .15s,background .15s}.agent-attach{background:var(--card-2);color:var(--muted)}.agent-attach:hover{color:var(--text);background:var(--card)}.agent-send{background:var(--accent);color:#fff}.agent-send:hover:not(:disabled){filter:brightness(1.06)}.agent-send:disabled{opacity:.4;cursor:default}.agent-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;text-align:center}.agent-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:var(--accent-soft);color:var(--accent-ink)}@media(max-width:860px){.agent-card{height:calc(100dvh - 120px);padding:14px}.agent-history-menu{width:250px}}.agent-history-panel{margin-top:16px;padding:16px 18px}.agent-history-head{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.agent-history-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.agent-chat-chip{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:170px;max-width:230px;padding:9px 11px;border-radius:12px;background:var(--card-2);border:1px solid var(--border);cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.agent-chat-chip:hover{border-color:var(--accent)}.agent-chat-chip.active{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 12%,var(--card-2))}.agent-chat-chip-main{min-width:0;flex:1}.agent-chat-chip-title{font-size:13.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-chat-chip-meta{font-size:11px;color:var(--muted);margin-top:2px}.agent-chat-chip-del{flex-shrink:0;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted);cursor:pointer}.agent-chat-chip-del:hover{color:var(--red);background:color-mix(in oklch,var(--red) 12%,transparent)}.journal-stats{display:flex;flex-wrap:wrap;align-items:center;gap:28px}.journal-trend{display:flex;flex-direction:column;gap:4px;flex:1;min-width:260px;max-width:460px}.journal-compose-grid{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:12px}@media(max-width:520px){.journal-compose-grid{grid-template-columns:1fr}}.journal-mood{flex:1;aspect-ratio:1;max-width:64px;font-size:22px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);cursor:pointer;transition:background .15s var(--ease),transform .1s var(--ease)}.journal-mood:hover{transform:translateY(-1px)}.journal-mood.active{background:var(--accent-soft);border-color:transparent;box-shadow:inset 0 0 0 2px var(--accent)}.journal-tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;padding:8px 10px;border-radius:13px;border:1px solid var(--border);background:var(--card-2);min-height:44px}.journal-tag-input input{flex:1;min-width:120px;border:none;background:none;outline:none;color:var(--text);font:inherit;font-size:13.5px}.journal-tag-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 5px 3px 9px;border-radius:8px;background:var(--t-lav-bg);color:var(--t-lav-ink)}.journal-tag-chip button{display:inline-flex;border:none;background:none;cursor:pointer;color:inherit;opacity:.7;padding:0}.journal-tag-chip button:hover{opacity:1}.journal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:none;background:var(--card-2);color:var(--muted);cursor:pointer;flex-shrink:0;transition:color .12s,background .12s}.journal-icon-btn:hover{color:var(--text);background:var(--card)}.journal-icon-btn.danger:hover{color:var(--red);background:var(--t-pink-bg)}.journal-search{position:relative}.journal-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.journal-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.journal-mood-filter{display:flex;gap:4px}.journal-mood-pill{width:32px;height:32px;font-size:16px;border-radius:9px;border:1px solid var(--border);background:var(--card-2);cursor:pointer;opacity:.55;transition:opacity .12s,box-shadow .12s}.journal-mood-pill:hover{opacity:1}.journal-mood-pill.active{opacity:1;box-shadow:inset 0 0 0 2px var(--accent)}.journal-tag-filter{display:flex;flex-wrap:wrap;gap:6px}.journal-filter-chip{font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px;border:1px solid var(--border);background:var(--card-2);color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.journal-filter-chip:hover{color:var(--text)}.journal-filter-chip.active{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.journal-entry{background:var(--card-2);border-radius:14px;padding:13px 15px;display:flex;flex-direction:column;gap:8px}.journal-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.journal-entry-day{font-size:12px;font-weight:700;color:var(--muted)}.journal-entry-title{font-size:14.5px;font-weight:700;margin-top:1px}.journal-entry-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.journal-entry-text{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.journal-tmpl-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;background:var(--card-2)}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media(max-width:560px){.kpi-row{grid-template-columns:repeat(2,1fr);gap:14px}}.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.mod-card{display:flex;flex-direction:column;gap:10px}.mod-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mod-card-title{font-weight:700;font-size:14.5px}.mod-list{display:flex;flex-direction:column}.mod-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t-fast) var(--ease)}.mod-row:last-child{border-bottom:none}.mod-row:hover{background:var(--card-2)}.mod-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mod-row-title{font-weight:650;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-row-sub{color:var(--muted);font-size:12.5px;font-weight:600}.mod-row-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.mod-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;color:var(--muted);background:transparent;border:1px solid transparent;cursor:pointer;flex-shrink:0;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.mod-icon-btn:hover{background:var(--card-2);color:var(--text)}.mod-icon-btn.danger:hover{color:var(--red)}.mod-quicklog{display:flex;gap:6px;align-items:stretch}.mod-quicklog input{min-width:0}.mod-quicklog button{flex-shrink:0;padding:8px 12px}.net-touch{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:9px;font-size:12px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border:1px solid transparent;cursor:pointer;white-space:nowrap;flex-shrink:0}.net-touch:hover{filter:brightness(1.08)}.costs-breakdown{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.costs-table-wrap{flex:1 1 320px;min-width:0;overflow-x:auto}.cost-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:0px}.mod-table{width:100%;border-collapse:collapse;font-size:13px}.mod-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:0 10px 7px;white-space:nowrap}.mod-table td{padding:8px 10px;border-top:1px solid var(--border);font-weight:600}.mod-table th.r,.mod-table td.r{text-align:right}.mod-table-total td{border-top:2px solid var(--border);font-weight:800}.dash-toolbar{display:flex;align-items:center;gap:12px;min-height:34px}.dash-toolbar-hint{font-size:12.5px;font-weight:600}.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:start}.dash-item{min-width:0}.dash-grid.editing .dash-item{position:relative;border:1.5px dashed var(--border);border-radius:18px;padding:10px;cursor:grab;background:color-mix(in oklch,var(--accent) 3%,transparent);transition:opacity var(--t-fast) var(--ease)}.dash-grid.editing .dash-item:active{cursor:grabbing}.dash-item[data-drag=true]{opacity:.45}.dash-controls{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.dash-grip{color:var(--muted);flex-shrink:0}.dash-label{font-weight:700;font-size:12.5px;flex:1;min-width:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-sizes{display:flex;gap:3px;flex-shrink:0}.dash-size{padding:3px 8px;border-radius:7px;font-size:11px;font-weight:700;background:var(--card-2);border:1px solid var(--border);color:var(--muted);cursor:pointer}.dash-size.on{background:var(--accent);color:#fff;border-color:transparent}.dash-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--red);cursor:pointer;flex-shrink:0}.dash-remove:hover{background:color-mix(in oklch,var(--red) 12%,transparent)}.dash-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dash-add-btn{display:flex;align-items:center;gap:7px;padding:11px 13px;border-radius:12px;background:var(--card-2);border:1px solid var(--border);color:var(--text);font-weight:650;font-size:13.5px;cursor:pointer;text-align:left}.dash-add-btn:hover{background:color-mix(in oklch,var(--accent) 9%,var(--card-2))}.link-btn{background:none;border:none;color:var(--accent-ink);font-weight:700;cursor:pointer}@media(max-width:860px){.dash-grid{grid-template-columns:1fr;gap:16px}.dash-add-grid{grid-template-columns:1fr}}.pnl-chart{position:relative;width:100%}.pnl-axis-y{position:absolute;left:0;top:0}.pnl-axis-y-tick{position:absolute;right:8px;transform:translateY(-50%);font-size:10.5px;font-weight:700;color:var(--muted);white-space:nowrap}.pnl-plot{position:absolute;right:0;top:0;touch-action:none;cursor:crosshair}.pnl-dot{position:absolute;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px var(--card);pointer-events:none}.pnl-tip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:7px 10px;box-shadow:0 8px 24px #00000047;pointer-events:none;white-space:nowrap;z-index:5}.pnl-tip[data-edge=start]{transform:translate(-12px)}.pnl-tip[data-edge=end]{transform:translate(calc(-100% + 12px))}.pnl-tip-date{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:2px}.pnl-tip-cum{font-size:15px;font-weight:800;letter-spacing:-.02em}.pnl-tip-row{display:flex;gap:10px;justify-content:space-between;font-size:12px;font-weight:600;margin-top:2px}.pnl-axis-x{position:absolute;right:0;bottom:0;display:flex;align-items:center}.pnl-axis-x-tick{position:absolute;white-space:nowrap;font-size:10.5px;font-weight:700;letter-spacing:.01em;color:var(--muted)}.trades-collapse{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;color:var(--muted);font-size:13px;font-weight:700;padding:4px 0}.trades-collapse svg{transition:transform var(--t-fast) var(--ease)}.trades-collapse[data-open=false] svg{transform:rotate(-90deg)}.cal-monthbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cal-monthtitle{font-size:18px;font-weight:800;letter-spacing:-.01em}.cal-today-btn{padding:5px 12px;border-radius:9px;font-size:12.5px;font-weight:700;background:var(--card-2);border:1px solid var(--border);color:var(--text);cursor:pointer}.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.cal-grid-head span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-cell{min-height:92px;border:1px solid var(--border);border-radius:10px;background:var(--card-2);padding:5px;display:flex;flex-direction:column;gap:3px;cursor:pointer;overflow:hidden;transition:background var(--t-fast) var(--ease)}.cal-cell:hover{background:color-mix(in oklch,var(--accent) 7%,var(--card-2))}.cal-cell.out{opacity:.42}.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-cell-day{font-size:12.5px;font-weight:700;align-self:flex-start;min-width:20px;text-align:center}.cal-cell.today .cal-cell-day{background:var(--accent);color:#fff;border-radius:6px;padding:1px 5px}.cal-cell-items{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-chip{display:flex;align-items:center;gap:4px;width:100%;text-align:left;border:none;border-left:3px solid var(--chip, var(--accent));background:color-mix(in oklch,var(--chip, var(--accent)) 15%,var(--card));color:var(--text);border-radius:5px;padding:2px 5px;font-size:11px;font-weight:600;cursor:pointer;overflow:hidden}.cal-chip.soft{opacity:.92;border-left-style:dashed}.cal-chip.more{border-left:none;background:transparent;color:var(--muted);font-weight:700;padding:1px 5px}.cal-chip-t{color:var(--muted);flex-shrink:0;font-variant-numeric:tabular-nums}.cal-chip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:700px){.cal-grid,.cal-grid-head{gap:3px}.cal-cell{min-height:62px;padding:3px;border-radius:8px}.cal-chip{font-size:9.5px;padding:1px 3px;gap:2px}.cal-chip-t{display:none}.cal-cell-day{font-size:11px}}.cal-day-head{font-size:12.5px;font-weight:800;letter-spacing:.02em;color:var(--accent-ink);margin-bottom:4px}.cal-item{display:flex;align-items:center;gap:11px;padding:9px 4px;border-bottom:1px solid var(--border)}.cal-item:last-child{border-bottom:none}.cal-item-time{width:46px;flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--muted);text-align:right}.cal-item-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cal-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cal-item-title{font-weight:650;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-item-sub{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}.mod-group-name{font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.mod-tabbar{padding:8px;position:sticky;top:0;z-index:5}.mod-icon-btn.on{color:var(--accent-ink)}.learn-focus{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.learn-focus-val{font-size:25px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1}.learn-focus-val small{font-size:14px;font-weight:700;color:var(--muted)}.learn-focus-body{flex:1;min-width:230px;display:flex;flex-direction:column;gap:9px}.learn-focus-name{font-size:21px;font-weight:800;letter-spacing:-.01em}.learn-focus-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;font-weight:600}.learn-focus-res{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.learn-focus-res-label{font-size:12px;font-weight:700;color:var(--muted)}.res-list{display:flex;flex-direction:column}.res-row{display:flex;align-items:center;gap:13px;padding:11px 8px;border-bottom:1px solid var(--border);border-radius:9px;cursor:pointer;transition:background .14s var(--ease)}.res-row:last-child{border-bottom:none}.res-row:hover{background:var(--card-2)}.res-icon{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.res-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.res-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;min-width:0}.res-link{color:var(--muted);display:inline-flex;flex-shrink:0}.res-link:hover{color:var(--accent-ink)}.res-sub{font-size:12.5px;font-weight:600;color:var(--muted)}.res-bar{max-width:230px;margin-top:3px}.res-status{background:none;border:none;cursor:pointer;flex-shrink:0;padding:0}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dash-tile{box-sizing:border-box}.dash-content{height:100%;min-height:0}.dash-content.locked{pointer-events:none}.dash-content>*,.dash-measure,.dash-measure>*{height:100%}.dash-measure{min-height:0}.dash-tile .card{height:100%;margin:0;display:flex;flex-direction:column;overflow:hidden}.dash-tile .section-body{grid-template-rows:1fr!important;flex:1;min-height:0}.dash-tile .section-inner{overflow:auto}.dash-tile .section-toggle{display:none}.dash-tile .section-head{cursor:default}@media(max-width:860px){.dash-tile .card{padding:14px 16px!important}.dash-tile .section-inner>div{padding-top:8px!important}.dash-tile .section-inner{scrollbar-width:none;display:flex;flex-direction:column}.dash-tile .section-inner>div{flex:1;min-height:0}.dash-tile .section-inner::-webkit-scrollbar{width:0;height:0}.dash-rz-se{width:40px;height:40px}.dash-rz-e:after,.dash-rz-s:after{opacity:.85}}.react-grid-item{transition:transform .18s var(--ease),width .18s var(--ease),height .18s var(--ease)}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing,.react-grid-item.react-draggable-dragging{transition:none;z-index:20}.dash-rgl.editing .react-grid-item{cursor:grab;outline:1.5px dashed var(--border);outline-offset:2px;border-radius:18px;background:color-mix(in oklch,var(--accent) 3%,transparent)}.dash-rgl.editing .react-grid-item:active{cursor:grabbing}.react-grid-item.react-grid-placeholder{background:var(--accent)!important;opacity:.16;border-radius:18px;transition-duration:.1s}.dash-move-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;border-radius:18px;cursor:grab;touch-action:none}.dash-move-layer:active{cursor:grabbing}.dash-rz{position:absolute;z-index:7;touch-action:none}.dash-rz-se{right:0;bottom:0;width:30px;height:30px;cursor:nwse-resize}.dash-rz-e{right:0;top:16%;width:18px;height:68%;cursor:ew-resize}.dash-rz-s{bottom:0;left:16%;width:68%;height:18px;cursor:ns-resize}.dash-rz-se:after{content:"";position:absolute;right:6px;bottom:6px;width:12px;height:12px;border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);border-bottom-right-radius:3px;opacity:.9}.dash-rz-e:after{content:"";position:absolute;top:50%;right:6px;transform:translateY(-50%);width:3px;height:28px;border-radius:3px;background:var(--accent);opacity:.5}.dash-rz-s:after{content:"";position:absolute;left:50%;bottom:6px;transform:translate(-50%);width:28px;height:3px;border-radius:3px;background:var(--accent);opacity:.5}.dash-rz:hover:after{opacity:1}.calw-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,1fr);gap:3px;height:100%;min-height:0}.calw-wd{text-align:center;font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.calw-cell{position:relative;border-radius:7px;background:var(--card-2);padding:3px 3px 2px;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:2px}.calw-cell.out{opacity:.36}.calw-cell.today{background:color-mix(in oklch,var(--accent) 16%,var(--card-2));outline:1.5px solid var(--accent)}.calw-daynum{font-size:10.5px;font-weight:700;line-height:1.1}.calw-cell.today .calw-daynum{color:var(--accent)}.calw-dotrow{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-top:auto}.calw-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.calw-dotmore{font-size:8px;font-weight:700;color:var(--muted)}.calw-evlist{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.calw-evchip{font-size:9px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 4px;border-radius:4px;border-left:2px solid var(--c, var(--accent));background:color-mix(in oklch,var(--c, var(--accent)) 18%,transparent)}.calw-evmore{font-size:8.5px;font-weight:700;color:var(--muted);padding-left:3px}.dash-remove{position:absolute;top:9px;right:9px;z-index:9;width:26px;height:26px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--red);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px #0000004d}.dash-remove:hover{background:color-mix(in oklch,var(--red) 14%,var(--card))}.dash-bottombar{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px 0 2px;flex-wrap:wrap}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery-card{text-align:left;background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:10px;cursor:pointer;transition:border-color var(--t-fast) var(--ease)}.gallery-card:hover{border-color:var(--accent)}.gallery-prev{height:156px;overflow:hidden;border-radius:11px;position:relative;pointer-events:none;background:var(--card)}.gallery-prev .card{margin:0;box-shadow:none;border-radius:11px}.gallery-prev .section-toggle{display:none}.gallery-prev:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 70%,var(--card-2));pointer-events:none}.gallery-meta{display:flex;align-items:center;justify-content:space-between;margin-top:9px;font-weight:700;font-size:13.5px}.gallery-add{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;align-items:center;justify-content:center}@media(max-width:640px){.gallery-grid{grid-template-columns:1fr}}.gallery-cat{margin-bottom:20px}.gallery-cat:last-child{margin-bottom:0}.gallery-cat-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 2px 9px}.dash-tile .today-done-section .section-inner{display:flex;flex-direction:column}.dash-tile .today-done-section .section-inner>div{flex:1;min-height:0}.today-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:18px 10px;min-height:130px}.today-done-badge{width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in oklch,var(--green) 18%,transparent);color:var(--green);flex-shrink:0}.today-done-text{display:flex;flex-direction:column;gap:4px}.today-done-text strong{font-size:19px;font-weight:700}.today-done-text .muted{font-size:14px}.cal-td{display:flex;flex-direction:column;gap:12px}.cal-td-day{display:flex;flex-direction:column;gap:6px}.cal-td-head{text-align:center;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.cal-td-empty{text-align:center;font-size:12.5px;color:var(--faint);padding:2px 0 4px}.cal-td-list{display:flex;flex-direction:column;gap:5px}.cal-td-event{display:flex;align-items:center;gap:9px;padding:7px 11px;border-radius:11px;background:var(--surface)}.cal-td-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cal-td-time{font-size:11.5px;font-weight:700;color:var(--muted);flex-shrink:0;white-space:nowrap}.cal-td-title{flex:1;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-setup{display:flex;flex-direction:column;gap:10px}.wx-search{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:var(--surface);color:var(--muted)}.wx-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:14px;color:var(--text)}.wx-locate{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--card-2);font-size:13px;font-weight:600;color:var(--text);cursor:pointer}.wx-locate:hover{border-color:var(--accent)}.wx-place{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer}.wx-place:hover{color:var(--accent-ink)}.wx-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.wx-icon{color:var(--accent);flex-shrink:0}.wx-temp-block{display:flex;flex-direction:column}.wx-temp{font-size:38px;font-weight:700;letter-spacing:-.02em;line-height:1}.wx-cond{font-size:13px;font-weight:600}.wx-hilo{display:flex;flex-direction:column;gap:3px;margin-left:auto;font-size:13px;font-weight:700;color:var(--muted)}.img-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1.5px dashed var(--border);border-radius:18px;background:var(--card-2);color:var(--muted);font-size:13.5px;font-weight:600;cursor:pointer}.img-empty:hover{border-color:var(--accent);color:var(--accent-ink)}.img-widget{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden}.img-widget img{width:100%;height:100%;object-fit:cover;display:block}.img-change{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklch,var(--card) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);color:var(--text);cursor:pointer}.img-change:hover{color:var(--accent-ink)}.score-routine-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;margin-top:6px;padding:10px 18px;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--elev-sm);transition:filter var(--t-fast) var(--ease),transform .08s var(--ease)}.score-routine-btn:hover{filter:brightness(1.06)}.score-routine-btn:active{transform:scale(.98)}.dash-tile .habits-section .section-inner{display:flex;flex-direction:column}.dash-tile .habits-section .section-inner>div{flex:1;min-height:0;display:flex;flex-direction:column}.ov-habits-list{flex:1;min-height:0;display:flex;flex-direction:column}.ov-habit-row{flex:1 1 0;display:flex;align-items:center;gap:13px;min-height:34px;border-bottom:1px solid var(--border)}.ov-habit-row:last-child{border-bottom:none}.ov-habit-name{flex:1;min-width:0;font-weight:600;font-size:14.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-habit-name.done{color:var(--muted);text-decoration:line-through}.ov-habits-link{align-self:flex-start}
