:root{--paper: #f6f4ef;--card: #ffffff;--ink: #1e2a2e;--muted: #6b7378;--teal: #2f7e7a;--teal-deep: #225c58;--teal-tint: #e7f0ef;--line: #e2dcd1;--line-soft: #eeeae1;--s0: #b65a4e;--s1: #c98a2b;--s2: #3e8e5a;--s0-t: #f5e4e1;--s1-t: #f7ecd8;--s2-t: #e2efe7;--danger: #b65a4e;--shadow: 0 1px 2px rgba(30, 42, 46, .04), 0 8px 24px rgba(30, 42, 46, .06)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);direction:ltr;font-family:Assistant,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--teal-deep);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.serif{font-family:Frank Ruhl Libre,serif}header.top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}.brand{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:22px;letter-spacing:-.01em;line-height:1.1}.brand small{display:block;font-family:Assistant;font-weight:500;font-size:12.5px;color:var(--muted);letter-spacing:.02em;margin-top:3px}.top-right{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--muted)}.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);align-items:center;flex-wrap:wrap}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block;margin-inline-start:5px;vertical-align:-1px}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.01em}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-family:inherit;font-size:14.5px;color:var(--ink)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%236B7378' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:left 14px center}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint)}.setup{display:grid;grid-template-columns:1.4fr 1.8fr 1fr;gap:14px;margin:22px 0 8px}.video-meta{display:flex;align-items:center;gap:10px;margin:6px 2px 22px;font-size:13px;color:var(--muted);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--teal-tint);color:var(--teal-deep);font-weight:600;padding:3px 10px;border-radius:999px;font-size:12.5px}.chip b{font-weight:700}.grid{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.page{padding:22px 0 64px}.moment{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px;display:grid;grid-template-columns:34px 1fr;gap:14px}.ladder{display:flex;flex-direction:column-reverse;gap:4px;padding-top:30px}.ladder span{height:14px;border-radius:3px;background:var(--line-soft);transition:background .18s}.ladder span.l1{background:var(--s1)}.ladder span.l2{background:var(--s2)}.m-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.m-num{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:15px;color:var(--teal);background:var(--teal-tint);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none}.m-emotion{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:18px}.m-tot{margin-inline-start:auto;font-size:12.5px;color:var(--muted)}.m-tot b{color:var(--ink);font-weight:700}.layer{display:grid;grid-template-columns:148px 1fr;align-items:center;gap:12px;padding:7px 0;border-top:1px solid var(--line-soft)}.layer:first-of-type{border-top:none}.layer .lname{font-size:13.5px;font-weight:600}.layer .lname small{display:block;font-weight:500;color:var(--muted);font-size:11.5px}.seg{display:inline-grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:360px}.seg button{border:1px solid var(--line);background:var(--card);color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600;padding:8px 6px;border-radius:9px;cursor:pointer;transition:all .14s;line-height:1.25}.seg button:hover{border-color:var(--teal)}.seg button .pt{display:block;font-size:11px;font-weight:700;opacity:.55;margin-top:2px}.seg button[data-v="0"].on{background:var(--s0-t);border-color:var(--s0);color:var(--s0)}.seg button[data-v="1"].on{background:var(--s1-t);border-color:var(--s1);color:#9a6916}.seg button[data-v="2"].on{background:var(--s2-t);border-color:var(--s2);color:var(--teal-deep)}.auto-tag{font-size:10.5px;color:var(--teal);font-weight:700;background:var(--teal-tint);padding:1px 7px;border-radius:999px;margin-inline-start:6px;vertical-align:1px}.panel{position:sticky;top:84px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.panel h2{font-family:Frank Ruhl Libre,serif;font-size:16px;margin:0;padding:15px 18px 0}.score-hero{padding:6px 18px 16px;border-bottom:1px solid var(--line-soft)}.score-num{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:52px;line-height:1;color:var(--teal-deep)}.score-num small{font-size:20px;color:var(--muted);font-weight:500}.score-sub{font-size:12.5px;color:var(--muted);margin-top:4px}.delta{font-weight:700;font-size:13px;margin-inline-start:8px}.delta.up{color:var(--s2)}.delta.down{color:var(--s0)}.delta.flat{color:var(--muted)}.bars{padding:14px 18px;border-bottom:1px solid var(--line-soft)}.bars .blab{display:flex;justify-content:space-between;font-size:12px;margin:0 0 5px}.bars .blab span:last-child{color:var(--muted);font-weight:600}.track{height:7px;background:var(--line-soft);border-radius:4px;overflow:hidden;margin-bottom:12px}.track i{display:block;height:100%;background:var(--teal);border-radius:4px;transition:width .25s}.bars .blab+.track:last-child{margin-bottom:0}.history{padding:14px 18px}.history h3{font-size:12px;font-weight:700;color:var(--muted);margin:0 0 10px;letter-spacing:.02em}.spark{display:flex;align-items:flex-end;gap:5px;height:54px;margin-bottom:6px}.spark .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.spark .bar{width:100%;max-width:26px;background:var(--teal-tint);border:1px solid var(--teal);border-radius:4px 4px 0 0;transition:height .2s}.spark .col.cur .bar{background:var(--teal)}.spark .d{font-size:9px;color:var(--muted);white-space:nowrap}.empty{font-size:12.5px;color:var(--muted);font-style:italic;padding:8px 0}.notes{margin-top:14px}.notes textarea{width:100%;min-height:74px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;resize:vertical}.notes textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint)}.actions{display:flex;gap:10px;margin-top:14px}.btn{flex:1;border:none;border-radius:10px;padding:12px;font-family:inherit;font-weight:700;font-size:14.5px;cursor:pointer;transition:filter .14s;color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{flex:none;background:var(--paper);color:var(--muted);border:1px solid var(--line)}.btn-ghost:hover:not(:disabled){color:var(--ink)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--line)}.btn-link{background:none;border:none;color:var(--teal-deep);font-family:inherit;font-size:inherit;font-weight:600;cursor:pointer;padding:0}.saved-flash{font-size:12.5px;color:var(--s2);font-weight:700;text-align:center;margin-top:8px;min-height:16px}.note-store{font-size:11px;color:var(--muted);text-align:center;margin-top:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:18px 20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 16px}.section-head h1{font-family:Frank Ruhl Libre,serif;font-size:24px;margin:0}.child-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.child-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px 18px;cursor:pointer;transition:border-color .14s,transform .14s;text-align:start;width:100%;font-family:inherit;color:inherit}.child-card:hover{border-color:var(--teal);transform:translateY(-1px);text-decoration:none}.child-card .cname{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:18px}.child-card .cmeta{font-size:12.5px;color:var(--muted);margin-top:6px}.session-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-soft)}.session-row:first-child{border-top:none}.session-row .stitle{font-weight:600}.session-row .ssub{font-size:12px;color:var(--muted);margin-top:2px}.pct-badge{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:20px;color:var(--teal-deep)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:28px 26px}.auth-card h1{font-family:Frank Ruhl Libre,serif;font-size:24px;margin:0 0 4px}.auth-card .sub{color:var(--muted);font-size:13px;margin-bottom:20px}.auth-card .field{margin-bottom:14px}.auth-switch{text-align:center;font-size:13px;color:var(--muted);margin-top:16px}.form-error{background:var(--s0-t);border:1px solid var(--s0);color:var(--s0);font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;margin-bottom:14px}.form-ok{background:var(--s2-t);border:1px solid var(--s2);color:var(--teal-deep);font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;margin-bottom:14px}.loader{text-align:center;color:var(--muted);font-size:14px;padding:60px 0}.crumbs{font-size:13px;color:var(--muted);margin:0 0 14px}.crumbs a{font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e2a2e66;display:grid;place-items:center;z-index:50;padding:20px}.modal{width:100%;max-width:420px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:24px}.modal h2{font-family:Frank Ruhl Libre,serif;font-size:20px;margin:0 0 16px}.modal .field{margin-bottom:14px}@media (max-width: 880px){.grid{grid-template-columns:1fr}.panel{position:static}.setup{grid-template-columns:1fr}.top .wrap{flex-direction:column;gap:10px;align-items:flex-start}}@media (max-width: 520px){.layer{grid-template-columns:1fr}.seg{max-width:none}}
