@layer layouts,components,editorial;:root{--color-bg: #f3efe6;--color-paper: #fcfaf5;--color-ink: #303a30;--color-muted: #72786a;--color-text-secondary: #626a5b;--color-line: #dcded0;--color-accent: #4e6242;--color-on-accent: #fffdf6;--color-soft: #e4ead9;--color-blue: #537b96;--color-blue-soft: #e7eef3;--color-peach: #9d6449;--color-peach-soft: #f3e6d9;--color-danger: #994e3d;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: Georgia, "Times New Roman", serif;--radius-control: 10px;--radius-card: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--shadow-card: 0 5px 18px #303a3008;--target-size: 44px}@layer layouts{:root{color:var(--color-ink);background:var(--color-paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:min(320px,100%);min-height:100vh;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 18%,transparent),transparent 320px),linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 9%,transparent),transparent 300px),var(--color-paper)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:24px 18px;background:color-mix(in srgb,var(--color-paper) 86%,transparent);border-right:1px solid var(--color-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px}.brand-logo{width:46px;height:46px;object-fit:contain}.brand-name{font-weight:760;font-size:18px}.brand-caption{color:var(--color-text-secondary);font-size:13px}.nav-list{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:8px;color:var(--color-text-secondary)}.nav-link.active,.nav-link:hover{background:var(--color-soft);color:var(--color-accent)}.sidebar-footer{margin-top:auto}.content{min-width:0;padding:32px}.page{max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-header h1{margin:0;font-size:34px;line-height:1.1;letter-spacing:0}.page-header p{max-width:720px;margin:10px 0 0;color:var(--color-text-secondary);line-height:1.55}.page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}.module-grid.two-columns{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.module-card{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-height:116px;padding:18px;background:var(--color-paper);border:1px solid var(--color-bg);border-radius:8px;box-shadow:0 10px 24px color-mix(in srgb,var(--color-ink) 4%,transparent);animation:card-in .34s ease both;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.module-card.active:hover{border-color:var(--module-color);box-shadow:0 18px 38px color-mix(in srgb,var(--color-ink) 8%,transparent);transform:translateY(-3px)}.module-card.active{background:linear-gradient(135deg,color-mix(in srgb,var(--module-color) 22%,white),#fff 58%),var(--color-paper)}.module-card.planned{color:var(--color-text-secondary);background:linear-gradient(135deg,color-mix(in srgb,var(--module-color) 10%,white),color-mix(in srgb,var(--color-paper) 68%,transparent) 58%),color-mix(in srgb,var(--color-paper) 72%,transparent)}.module-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--module-color, var(--color-accent)) 34%,transparent)}.module-icon.study{background:var(--color-accent)}.module-title{font-weight:740;margin-bottom:4px}.module-description{color:var(--color-text-secondary);font-size:14px;line-height:1.4}.module-status{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:650}.module-status.active{color:var(--color-ink);background:var(--color-soft)}.module-status.planned{color:var(--color-text-secondary);background:var(--color-bg)}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.primary-button,.secondary-button,.danger-button,.icon-button,.ghost-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:0;border-radius:8px;padding:0 14px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.primary-button{color:var(--color-paper);background:var(--color-accent)}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.danger-button:hover{transform:translateY(-1px)}.secondary-button{color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line)}.secondary-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.danger-button{color:var(--color-paper);background:var(--color-peach)}.icon-button,.ghost-icon-button{width:38px;padding:0;color:var(--color-text-secondary);background:var(--color-bg)}.icon-button.danger{color:var(--color-peach);background:var(--color-soft)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card,.panel,.empty-state{background:color-mix(in srgb,var(--color-paper) 92%,transparent);border:1px solid var(--color-bg);border-radius:8px;box-shadow:0 12px 28px color-mix(in srgb,var(--color-ink) 4%,transparent)}.stat-card{padding:18px}.stat-card span{display:block;font-size:28px;font-weight:780}.stat-card p{margin:4px 0 0;color:var(--color-text-secondary)}.panel{padding:20px;margin-bottom:18px}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--color-ink) 36%,transparent)}.modal-panel{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto}.modal-panel .panel{margin-bottom:0}.confirm-dialog{width:min(440px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px;border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:16px;background:color-mix(in srgb,var(--color-paper) 98%,transparent);box-shadow:0 22px 54px color-mix(in srgb,var(--color-ink) 18%,transparent)}.confirm-dialog-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--color-accent);background:var(--color-soft)}.confirm-dialog-icon-danger{color:var(--color-peach);background:var(--color-soft)}.confirm-dialog h2{margin:0;color:var(--color-ink);font-size:20px;line-height:1.2}.confirm-dialog p{margin:8px 0 0;color:var(--color-text-secondary);line-height:1.45}.confirm-dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.panel-heading{margin-bottom:16px}.compact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-heading h2{margin:0;font-size:20px}.panel-heading p{margin:6px 0 0;color:var(--color-text-secondary)}.form-panel{display:grid;gap:14px}.compact-form{margin-top:18px}.field{display:grid;gap:7px}.field span,.toolbar span{color:var(--color-text-secondary);font-size:13px;font-weight:690}.field-hint{margin:0;color:var(--color-text-secondary);font-size:12px}.field input,.field select,.field textarea,.toolbar select{width:100%;border:1px solid var(--color-line);border-radius:8px;padding:10px 12px;color:var(--color-ink);background:var(--color-paper)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-upload{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:start;gap:12px}.cover-preview{position:relative;display:grid;place-items:center;width:96px;height:128px;overflow:hidden;border:1px dashed var(--color-line);border-radius:8px;color:var(--color-text-secondary);background:var(--color-paper)}.cover-preview img{width:100%;height:100%;object-fit:cover}.cover-remove{position:absolute;right:6px;bottom:6px;border:0;border-radius:6px;padding:4px 7px;color:var(--color-paper);background:color-mix(in srgb,var(--color-peach) 88%,transparent);cursor:pointer;font-size:12px}.cover-button{width:max-content}.cover-button input{display:none}.quick-progress-grid{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(220px,1fr);gap:12px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--color-line);border-radius:999px;padding:8px 12px;color:var(--color-text-secondary);background:var(--color-paper);cursor:pointer}.chip.selected{color:var(--color-paper);border-color:var(--color-accent);background:var(--color-accent)}.form-error{padding:10px 12px;border-radius:8px;color:var(--color-peach);background:var(--color-soft)}.cover-error{grid-column:1 / -1}.calculated-field{min-height:66px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-accent) 32%,transparent);border-radius:8px;background:color-mix(in srgb,var(--color-paper) 86%,transparent)}.calculated-field strong{color:var(--color-ink);font-size:16px}.calculated-field small{color:var(--color-text-secondary);font-size:12px;line-height:1.35}.notice{margin-bottom:16px;padding:12px 14px;border:1px solid var(--color-line);border-radius:8px;color:var(--color-accent);background:var(--color-soft)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.toolbar label{display:grid;min-width:220px;gap:7px}.books-grid{display:grid;gap:14px}.book-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px 18px 18px 22px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 48%),var(--color-paper);border:1px solid var(--color-bg);border-radius:8px;box-shadow:0 12px 28px color-mix(in srgb,var(--color-ink) 4%,transparent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.book-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-accent) 72%,transparent);box-shadow:0 20px 40px color-mix(in srgb,var(--color-ink) 8%,transparent)}.priority-strip{position:absolute;inset:0 auto 0 0;width:5px}.priority-high,.priority-medium{background:var(--color-peach)}.priority-low{background:var(--color-accent)}.book-main{display:flex;min-width:0;gap:16px}.book-cover{display:grid;place-items:center;flex:0 0 auto;width:70px;height:92px;overflow:hidden;border-radius:8px;color:var(--color-accent);font-size:28px;font-weight:800;background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent) 35%,transparent),color-mix(in srgb,var(--color-paper) 88%,transparent)),var(--color-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 16%,transparent)}.book-cover.large{width:116px;height:154px;font-size:42px}.book-cover img{width:100%;height:100%;object-fit:cover}.book-info{min-width:0}.book-info h2{margin:8px 0 4px;font-size:20px}.book-author{margin:0 0 10px;color:var(--color-text-secondary)}.book-meta-row,.subject-row,.status-actions{display:flex;flex-wrap:wrap;gap:8px}.subject-row span,.soft-badge,.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:680}.subject-row span,.soft-badge{color:var(--color-text-secondary);background:var(--color-bg)}.status-reading{color:var(--color-accent);background:var(--color-soft)}.status-paused{color:var(--color-peach);background:var(--color-soft)}.status-finished{color:var(--color-ink);background:var(--color-soft)}.progress-block{max-width:520px;margin-top:12px}.progress-caption{display:flex;justify-content:space-between;margin-bottom:6px;color:var(--color-text-secondary);font-size:13px}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:var(--color-bg)}.progress-track.wide{width:min(340px,100%);margin-top:12px}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-accent),var(--color-accent))}.book-card-actions{display:flex;align-items:center;gap:8px}.empty-state{display:grid;place-items:center;min-height:260px;padding:32px;text-align:center}.empty-state h2{margin:0}.empty-state p{max-width:520px;margin:8px 0 18px;color:var(--color-text-secondary)}.details-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}.details-stats{margin-top:18px}.analysis-panel{border-left:5px solid var(--color-accent)}.analysis-success{border-left-color:var(--color-accent)}.analysis-warning{border-left-color:var(--color-peach)}.analysis-paused{border-left-color:var(--color-accent)}.target-analysis{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border-radius:8px;background:var(--color-paper)}.target-analysis span,.target-analysis strong{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--color-paper)}.book-detail-top{display:flex;gap:20px;align-items:center;margin-bottom:18px}.details-panel h2{margin:12px 0 4px;font-size:34px}.details-panel p{margin:0;color:var(--color-text-secondary)}.status-actions{margin-top:18px}.history-list{display:grid;gap:10px}.history-group{display:grid;gap:8px}.history-group h3{margin:6px 0 0;color:var(--color-ink);font-size:15px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-radius:8px;background:var(--color-paper)}.history-item p{margin:4px 0 0;color:var(--color-text-secondary)}.history-actions{display:flex;justify-content:center;gap:10px;padding-top:8px}.book-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;color:var(--color-text-secondary);font-size:12px}.book-card-meta span{padding:3px 7px;border-radius:999px;background:var(--color-paper)}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rating-row,.full-width{grid-column:1 / -1}.rating-row{display:flex;gap:6px}.star-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-line);border-radius:8px;color:var(--color-line);background:var(--color-paper);cursor:pointer}.star-button.selected{color:var(--color-peach);border-color:var(--color-peach);background:var(--color-soft)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-shell:not(.books-legacy-shell){grid-template-rows:auto 1fr}.sidebar{position:static;height:auto}.content{padding:20px}.page-header,.book-card,.details-layout{grid-template-columns:1fr}.page-header{display:grid}.page-actions,.book-card-actions{justify-content:flex-start}.stats-grid,.form-grid,.form-grid.three-columns,.quick-progress-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.stats-grid,.form-grid,.quick-progress-grid,.review-grid,.cover-upload,.module-grid,.module-grid.two-columns{grid-template-columns:1fr}.book-main,.book-detail-top{flex-direction:column;align-items:flex-start}}.route-loading-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:min(420px,calc(100vh - 64px));color:var(--color-text-secondary);font-size:14px;font-weight:650}.route-loading-state>span{width:18px;height:18px;border:2px solid var(--color-bg);border-top-color:var(--color-accent);border-radius:50%;animation:app-recovery-spin .8s linear infinite}body{background:linear-gradient(135deg,var(--color-paper) 0%,var(--color-bg) 100%)}.sidebar,.panel,.stat-card,.empty-state,.book-card,.module-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar{background:color-mix(in srgb,var(--color-paper) 80%,transparent);border-right-color:color-mix(in srgb,var(--color-accent) 22%,transparent)}.page-header{animation:fade-in .45s ease both}.page-header h1{color:var(--color-ink);font-weight:780}.primary-button{background:var(--color-accent);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 20%,transparent)}.primary-button:hover{background:var(--color-accent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-accent) 28%,transparent)}.secondary-button,.toolbar select,.field input,.field select,.field textarea{border-color:color-mix(in srgb,var(--color-accent) 30%,transparent);background:color-mix(in srgb,var(--color-paper) 90%,transparent);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.secondary-button:hover,.toolbar select:hover,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--color-accent) 16%,transparent);outline:none}.toolbar{align-items:end}.toolbar select{min-height:46px;border-width:2px;border-radius:12px;color:var(--color-ink);font-weight:550;box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 8%,transparent)}.stats-grid{gap:16px}.stat-card,.panel,.empty-state{background:color-mix(in srgb,var(--color-paper) 94%,transparent);border-color:color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:16px;box-shadow:0 8px 32px color-mix(in srgb,var(--color-accent) 10%,transparent)}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.book-card{display:block;min-height:248px;padding:24px;cursor:default;background:color-mix(in srgb,var(--color-paper) 95%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:16px;box-shadow:none;animation:fade-in .5s ease both;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.book-card:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 12px 32px color-mix(in srgb,var(--color-accent) 15%,transparent)}.book-card:hover h2,.book-title-link:hover{color:var(--color-accent)}.priority-strip{position:absolute;top:0;right:16px;left:auto;width:24px;height:40px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);z-index:2;opacity:.75}.book-main{align-items:flex-start}.book-cover{width:82px;height:108px;border-radius:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 22%,transparent),0 10px 20px color-mix(in srgb,var(--color-accent) 12%,transparent)}.book-info h2{margin-top:10px;font-size:21px;line-height:1.2;transition:color .2s ease}.book-title-link{color:inherit;transition:color .2s ease}.status-badge{min-height:26px;padding:0 12px;font-weight:560}.status-reading{color:var(--color-paper);background:var(--color-accent)}.subject-row span{color:var(--color-accent);background:var(--color-soft);transition:color .2s ease,background .2s ease}.subject-row span:hover{color:var(--color-accent);background:var(--color-soft)}.progress-track{height:10px;background:color-mix(in srgb,var(--color-accent) 20%,transparent)}.progress-fill{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--color-accent),var(--color-accent));transition:width .6s ease}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-paper) 32%,transparent),transparent);animation:shimmer 2s infinite}.book-card-actions{position:absolute;top:12px;left:12px;z-index:3;gap:6px;opacity:0;transform:scale(.92);transition:opacity .2s ease,transform .2s ease}.book-card:hover .book-card-actions,.book-card:focus-within .book-card-actions{opacity:1;transform:scale(1)}.book-card-actions .secondary-button,.book-card-actions .icon-button{width:30px;min-height:30px;height:30px;padding:0;border:0;border-radius:8px;color:var(--color-paper);background:var(--color-accent);font-size:0}.book-card-actions .secondary-button:hover,.book-card-actions .icon-button:hover{transform:scale(1.08);background:var(--color-accent)}.book-card-actions .secondary-button svg,.book-card-actions .icon-button svg{width:16px;height:16px}.book-card-actions .icon-button.danger{color:var(--color-paper);background:var(--color-peach)}.book-card-actions .icon-button.danger:hover{background:var(--color-peach)}.book-card-meta span{background:color-mix(in srgb,var(--color-paper) 92%,transparent)}.modal-backdrop{z-index:1000;background:color-mix(in srgb,var(--color-ink) 50%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .2s ease both}.modal-panel{width:min(620px,92vw);border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:20px;box-shadow:0 20px 60px color-mix(in srgb,var(--color-accent) 20%,transparent);animation:modal-in .24s ease both}.modal-panel .panel{border-radius:20px}.details-layout .panel,.analysis-panel,.history-item{border-color:color-mix(in srgb,var(--color-accent) 22%,transparent)}.details-panel{position:relative;overflow:hidden}.details-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--color-accent)}.history-item{border-left:3px solid var(--color-accent);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--color-accent) 5%,transparent)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:1080px){.books-grid{grid-template-columns:1fr}}@media(max-width:560px){.book-card{min-height:0;padding:18px}.book-card-actions{position:static;margin-top:14px;opacity:1;transform:none}.book-card-actions .secondary-button,.book-card-actions .icon-button{width:auto;min-width:38px;font-size:0}}:root{line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--color-ink)}.content{padding:34px}.page{max-width:1280px}.page-header{align-items:center;margin-bottom:24px}.page-header h1{font-size:clamp(28px,3vw,38px);line-height:1.05}.page-header p{margin-top:8px;color:var(--color-text-secondary);font-size:15px}.primary-button,.secondary-button,.danger-button,.icon-button,.ghost-icon-button{min-height:40px;border-radius:10px;font-size:14px;font-weight:620;line-height:1;white-space:nowrap}.stats-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.stat-card{display:grid;align-content:center;min-height:104px;padding:18px 20px}.stat-card span{font-size:30px;line-height:1}.stat-card p{margin-top:8px;font-size:13px;line-height:1.3}.toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;padding:16px;margin:20px 0 22px;background:color-mix(in srgb,var(--color-paper) 82%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:16px;box-shadow:0 8px 28px color-mix(in srgb,var(--color-accent) 8%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toolbar:has(+.toolbar){margin-bottom:0;border-bottom-color:transparent;border-radius:16px 16px 0 0}.toolbar+.toolbar{margin-top:0;padding-top:0;border-top-color:transparent;border-radius:0 0 16px 16px;box-shadow:0 12px 28px color-mix(in srgb,var(--color-accent) 8%,transparent)}.toolbar label{min-width:0}.toolbar span,.field span{font-size:12px;line-height:1.2;letter-spacing:0}.toolbar select,.field input,.field select,.field textarea{min-height:44px;padding:10px 12px;font-size:14px;line-height:1.25}.books-grid{align-items:start}.book-card{min-height:0;padding:22px}.book-main{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px}.book-cover{align-self:start}.book-info{display:flex;flex-direction:column;min-height:108px}.book-meta-row{align-items:center;min-height:26px;padding-right:78px}.book-info h2{margin:10px 0 5px;color:var(--color-ink);font-size:20px;font-weight:740;line-height:1.22}.book-title-link{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.book-author{margin-bottom:10px;font-size:13px;line-height:1.25}.subject-row,.book-meta-row{gap:6px}.subject-row span,.soft-badge,.status-badge{min-height:24px;padding:0 9px;font-size:11px;line-height:1}.progress-block{width:100%;max-width:none;margin-top:14px}.progress-caption{align-items:baseline;gap:12px;font-size:12px;line-height:1.2}.book-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;font-size:11px;line-height:1.25}.book-card-meta span{display:block;min-width:0;overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.book-card-actions{top:14px;left:14px;align-items:center}.book-card-actions .secondary-button,.book-card-actions .icon-button,.book-card-open{width:32px;min-width:32px;min-height:32px;height:32px;padding:0;border-radius:9px}.book-card-open{position:absolute;top:14px;right:52px;z-index:3;display:inline-grid;place-items:center;color:var(--color-paper);background:var(--color-accent);opacity:0;transform:scale(.92);transition:opacity .2s ease,transform .2s ease,background .2s ease}.book-card:hover .book-card-open,.book-card:focus-within .book-card-open{opacity:1;transform:scale(1)}.book-card-open:hover{background:var(--color-accent);transform:scale(1.08)}.priority-strip{right:18px;width:22px;height:38px}.modal-panel .compact-heading{align-items:center}.details-layout{align-items:start}.panel-heading h2{font-size:19px;line-height:1.2}.panel-heading p{font-size:14px;line-height:1.45}@media(max-width:900px){.content{padding:20px}.page-header{align-items:start}}@media(max-width:560px){.toolbar{grid-template-columns:1fr}.book-main{grid-template-columns:72px minmax(0,1fr)}.book-cover{width:72px;height:96px}.book-card-meta{grid-template-columns:1fr}.book-card-open{position:static;opacity:1;transform:none}}.page.legacy-books-page{width:100%;margin:0 auto;padding:0 0 32px}.legacy-hero{position:relative;display:grid;justify-items:center;gap:12px;margin-bottom:38px;text-align:center}.legacy-brand-title{color:var(--color-accent);font-size:clamp(44px,5.5vw,68px);font-weight:800;line-height:.95;text-shadow:0 8px 16px color-mix(in srgb,var(--color-ink) 18%,transparent)}.legacy-brand-title span{color:var(--color-accent)}.legacy-hero h1{margin:0;color:var(--color-ink);font-size:clamp(28px,3.4vw,38px);font-weight:800;line-height:1.1}.legacy-hero p{margin:0;color:var(--color-text-secondary);font-size:18px}.legacy-data-actions{position:absolute;top:4px;right:0;display:flex;gap:10px}.legacy-hero-back{top:4px}.legacy-icon-action,.legacy-compact-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-line);color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 92%,transparent);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.legacy-icon-action{width:42px;min-height:42px;border-radius:12px;padding:0}.legacy-compact-action{gap:7px;min-height:36px;border-radius:10px;padding:0 12px;font-size:14px;font-weight:700}.legacy-icon-action:hover,.legacy-compact-action:hover{border-color:var(--color-accent);background:var(--color-paper);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 18%,transparent);transform:translateY(-1px)}.legacy-filter-panel,.legacy-library-summary-card,.legacy-attention-panel,.legacy-heatmap-panel,.legacy-book-card,.legacy-detail-card,.legacy-progress-card,.legacy-status-message,.legacy-stat-panel,.legacy-stat-tabs-card,.legacy-history-card,.legacy-review-card{background:color-mix(in srgb,var(--color-paper) 96%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);border-radius:20px;box-shadow:0 18px 44px color-mix(in srgb,var(--color-accent) 12%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legacy-filter-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;padding:28px 30px;margin-bottom:40px}.legacy-filter-grid{display:grid;grid-template-columns:minmax(230px,1.25fr) minmax(150px,.78fr) minmax(150px,.78fr) minmax(230px,1.12fr) minmax(150px,.78fr);gap:20px}.legacy-filter-grid label{display:grid;gap:10px}.legacy-filter-grid span{color:var(--color-ink);font-size:15px;font-weight:700}.legacy-filter-grid select{appearance:none;width:100%;min-height:58px;border:2px solid var(--color-bg);border-radius:12px;padding:0 48px 0 18px;color:var(--color-ink);background-color:var(--color-paper);background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:16px 16px;font-size:16px;font-weight:600;box-shadow:0 3px 8px color-mix(in srgb,var(--color-ink) 8%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.legacy-search-control{display:flex;align-items:center;gap:10px;min-height:58px;border:2px solid var(--color-bg);border-radius:12px;padding:0 16px;color:var(--color-text-secondary);background:var(--color-paper);box-shadow:0 3px 8px color-mix(in srgb,var(--color-ink) 8%,transparent);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.legacy-search-control:focus-within{border-color:var(--color-accent);box-shadow:0 5px 14px color-mix(in srgb,var(--color-accent) 22%,transparent);transform:translateY(-1px)}.legacy-search-control input{width:100%;min-width:0;border:0;outline:none;color:var(--color-ink);background:transparent;font-size:16px;font-weight:600}.legacy-filter-grid select:hover,.legacy-filter-grid select:focus{border-color:var(--color-accent);box-shadow:0 5px 14px color-mix(in srgb,var(--color-accent) 22%,transparent);outline:none;transform:translateY(-1px)}.legacy-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.legacy-primary-action,.legacy-secondary-action,.legacy-danger-action,.legacy-action-button,.legacy-back-link,.legacy-modal-close{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:12px;padding:0 18px;border:0;cursor:pointer;font-size:16px;font-weight:700;line-height:1;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease}.legacy-primary-action{color:var(--color-paper);background:var(--color-accent);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 24%,transparent)}.legacy-primary-action:hover{background:var(--color-accent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-accent) 34%,transparent);transform:translateY(-1px)}.legacy-secondary-action,.legacy-back-link{color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 92%,transparent);border:1px solid var(--color-line)}.legacy-secondary-action:hover,.legacy-back-link:hover{background:var(--color-paper);transform:translateY(-1px)}.legacy-danger-action{color:var(--color-paper);background:var(--color-peach)}.legacy-danger-action:hover{background:var(--color-peach);transform:translateY(-1px)}.legacy-notice{width:min(920px,100%);margin:-14px auto 24px;padding:12px 16px;border:1px solid var(--color-line);border-radius:12px;color:var(--color-accent);background:color-mix(in srgb,var(--color-soft) 88%,transparent);text-align:center}.legacy-notice-error{border-color:var(--color-soft);color:var(--color-peach);background:var(--color-soft)}.legacy-compact-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:-12px 0 16px;color:var(--color-text-secondary);font-size:14px}.legacy-compact-summary span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-paper) 76%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 8%,transparent)}.legacy-compact-summary strong{color:var(--color-ink);font-size:16px}.legacy-compact-summary .is-ok strong{color:var(--color-ink)}.legacy-compact-summary .is-warning strong{color:var(--color-peach)}.legacy-books-view-tabs{display:flex;justify-content:center;gap:8px;width:min(560px,100%);margin:0 auto 24px;padding:4px;overflow-x:auto;border:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);border-radius:16px;background:color-mix(in srgb,var(--color-soft) 92%,transparent)}.legacy-books-view-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1 0 max-content;min-height:38px;border:0;border-radius:12px;padding:0 16px;color:var(--color-text-secondary);background:transparent;cursor:pointer;font-size:14px;font-weight:760;white-space:nowrap;transition:background .18s ease,box-shadow .18s ease,color .18s ease}.legacy-books-view-tabs button.active{color:var(--color-accent);background:var(--color-paper);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 16%,transparent)}.legacy-books-view-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;color:var(--color-peach);background:var(--color-soft);font-size:12px}.legacy-analytics-view{display:grid;gap:24px}.legacy-analytics-view .legacy-library-summary,.legacy-analytics-view .legacy-heatmap-panel{margin:0}.legacy-library-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-12px 0 24px}.legacy-library-summary-card{display:grid;gap:5px;min-height:96px;padding:16px 18px}.legacy-library-summary-card span{color:var(--color-text-secondary);font-size:13px;font-weight:720}.legacy-library-summary-card strong{color:var(--color-ink);font-size:28px;line-height:1}.legacy-library-summary-card small{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.legacy-library-summary-card.is-ok strong{color:var(--color-ink)}.legacy-library-summary-card.is-warning strong{color:var(--color-peach)}.legacy-attention-panel{display:grid;gap:14px;margin:0 0 26px;padding:18px}.legacy-attention-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.legacy-attention-heading h2{margin:0;color:var(--color-ink);font-size:20px;line-height:1.15}.legacy-attention-heading span{display:inline-grid;place-items:center;min-width:32px;height:28px;border-radius:999px;color:var(--color-peach);background:var(--color-soft);font-weight:800}.legacy-attention-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.legacy-attention-item{display:grid;gap:5px;min-width:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-line) 62%,transparent);border-left-width:4px;border-radius:14px;color:inherit;background:color-mix(in srgb,var(--color-paper) 84%,transparent);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.legacy-attention-item:hover{border-color:var(--color-accent);box-shadow:0 10px 22px color-mix(in srgb,var(--color-accent) 16%,transparent);transform:translateY(-1px)}.legacy-attention-item span{color:var(--color-text-secondary);font-size:12px;font-weight:760}.legacy-attention-item strong{overflow:hidden;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.legacy-attention-item small{overflow:hidden;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap}.legacy-attention-item.tone-danger,.legacy-attention-item.tone-warning{border-left-color:var(--color-peach)}.legacy-attention-item.tone-normal{border-left-color:var(--color-accent)}.legacy-attention-empty{margin:0;padding:18px;border-radius:14px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 88%,transparent)}.legacy-heatmap-panel{display:grid;gap:14px;margin:-8px 0 26px;padding:18px}.legacy-heatmap-heading,.legacy-stat-subheading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.legacy-heatmap-heading h2,.legacy-stat-subheading h3{margin:0;color:var(--color-ink);font-size:20px;line-height:1.15}.legacy-stat-subheading h3{font-size:15px}.legacy-heatmap-heading p{margin:5px 0 0;color:var(--color-text-secondary)}.legacy-heatmap-heading>span,.legacy-stat-subheading>span{flex:0 0 auto;color:var(--color-text-secondary);font-size:13px;font-weight:720;white-space:nowrap}.legacy-stat-subsection{display:grid;gap:10px}.legacy-heatmap-block{display:grid;gap:12px;min-width:0}.legacy-heatmap-range-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:4px;border:1px solid color-mix(in srgb,var(--color-line) 52%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-paper) 80%,transparent)}.legacy-heatmap-range-tabs button{min-width:0;min-height:34px;border:0;border-radius:999px;color:var(--color-text-secondary);font:inherit;font-size:12px;font-weight:820;background:transparent;cursor:pointer}.legacy-heatmap-range-tabs button.active{color:var(--color-paper);background:var(--color-accent);box-shadow:0 10px 22px color-mix(in srgb,var(--color-accent) 28%,transparent)}.legacy-heatmap-calendar-head{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px}.legacy-heatmap-nav{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--color-line) 72%,transparent);border-radius:12px;color:var(--color-ink);background:color-mix(in srgb,var(--color-paper) 90%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--color-ink) 6%,transparent);cursor:pointer}.legacy-heatmap-nav:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-paper)}.legacy-heatmap-nav:disabled{cursor:default;opacity:.42}.legacy-heatmap-month-title{display:grid;justify-items:center;gap:3px;min-width:0;text-align:center}.legacy-heatmap-month-title strong{color:var(--color-ink);font-size:17px;font-weight:860;line-height:1.15;text-transform:capitalize}.legacy-heatmap-month-title span{color:var(--color-text-secondary);font-size:12px;font-weight:720;line-height:1.25;text-wrap:balance}.legacy-heatmap-visual{display:grid;align-items:center;min-width:0}.legacy-calendar-heatmap{display:grid;justify-content:center;grid-template-columns:repeat(7,minmax(34px,52px));gap:6px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--color-line) 38%,transparent);border-radius:18px;background:color-mix(in srgb,var(--color-paper) 74%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--color-paper) 78%,transparent)}.legacy-calendar-weekday{display:grid;place-items:center;min-height:20px;color:var(--color-text-secondary);font-size:11px;font-weight:820;line-height:1}.legacy-calendar-day{display:grid;place-items:center;min-width:0;min-height:0;height:44px;border:1px solid color-mix(in srgb,var(--color-accent) 16%,transparent);border-radius:10px;color:var(--color-ink);font-size:13px;font-weight:760;line-height:1;background:var(--color-paper)}.legacy-heatmap-legend i{width:12px;height:12px;border:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);border-radius:3px;background:var(--color-bg)}.legacy-calendar-day.level-1,.legacy-heatmap-legend i.level-1{background:var(--color-soft)}.legacy-calendar-day.level-2,.legacy-heatmap-legend i.level-2{background:var(--color-line)}.legacy-calendar-day.level-3,.legacy-heatmap-legend i.level-3,.legacy-calendar-day.level-4,.legacy-heatmap-legend i.level-4{background:var(--color-accent)}.legacy-calendar-day.level-3,.legacy-calendar-day.level-4{color:var(--color-paper)}.legacy-calendar-day.is-muted{color:var(--color-text-secondary);background:var(--color-paper)}.legacy-range-heatmap{--heatmap-cell-size: 16px;--heatmap-gap: 4px;display:grid;align-content:start;justify-content:center;gap:6px;width:100%;min-width:0;overflow:hidden;padding:12px;border:1px solid color-mix(in srgb,var(--color-line) 38%,transparent);border-radius:18px;background:color-mix(in srgb,var(--color-paper) 74%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--color-paper) 78%,transparent)}.legacy-range-heatmap.range-quarter{--heatmap-cell-size: 18px;--heatmap-gap: 4px}.legacy-range-heatmap.range-halfYear{--heatmap-cell-size: 11px;--heatmap-gap: 3px}.legacy-range-heatmap.range-year{--heatmap-cell-size: 6.5px;--heatmap-gap: 2px}.legacy-range-heatmap-body{display:grid;grid-template-columns:20px minmax(0,max-content);gap:var(--heatmap-gap);justify-self:center;min-width:0;max-width:100%}.legacy-range-weekdays{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell-size));gap:var(--heatmap-gap);color:var(--color-accent);font-size:9px;font-weight:760;line-height:var(--heatmap-cell-size)}.legacy-range-grid{display:grid;grid-auto-flow:column;grid-auto-columns:var(--heatmap-cell-size);grid-template-rows:repeat(7,var(--heatmap-cell-size));gap:var(--heatmap-gap);min-width:0}.legacy-range-day{display:block;width:var(--heatmap-cell-size);height:var(--heatmap-cell-size);border:1px solid color-mix(in srgb,var(--color-accent) 14%,transparent);border-radius:3px;background:var(--color-bg)}.legacy-range-day.is-muted{opacity:.35}.legacy-range-day.level-1{background:var(--color-soft)}.legacy-range-day.level-2{background:var(--color-line)}.legacy-range-day.level-3,.legacy-range-day.level-4{background:var(--color-accent)}.legacy-heatmap-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--color-text-secondary);font-size:12px}.legacy-heatmap-legend{display:flex;align-items:center;gap:5px;white-space:nowrap}.legacy-heatmap-legend span{color:var(--color-accent)}.legacy-books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:28px;align-items:start}.legacy-book-card{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;min-height:230px;padding:28px;overflow:hidden;animation:legacy-fade-in .45s ease both;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.legacy-book-card:hover{border-color:var(--color-accent);box-shadow:0 24px 56px color-mix(in srgb,var(--color-accent) 17%,transparent);transform:translateY(-4px)}.legacy-priority-bookmark{position:absolute;top:0;right:18px;width:58px;height:88px;z-index:2;pointer-events:none;background-color:transparent;background-position:center top;background-repeat:no-repeat;background-size:contain}.legacy-priority-bookmark.priority-high{background-image:url(/assets/priority-high-BvYZSfMd.png)}.legacy-priority-bookmark.priority-medium{background-image:url(/assets/priority-medium-Ds4nM5jx.png)}.legacy-priority-bookmark.priority-low{background-image:url(/assets/priority-low-CF93tz3e.png)}.legacy-card-actions{position:absolute;top:16px;left:16px;z-index:3;display:flex;gap:7px;opacity:0;transform:scale(.86);transition:opacity .18s ease,transform .18s ease}.legacy-book-card:hover .legacy-card-actions,.legacy-book-card:focus-within .legacy-card-actions{opacity:1;transform:scale(1)}.legacy-action-button{width:30px;min-height:30px;height:30px;padding:0;border-radius:8px;color:var(--color-paper);background:var(--color-accent)}.legacy-action-button:hover{background:var(--color-accent);transform:scale(1.08)}.legacy-action-button.danger,.legacy-action-button.danger:hover{background:var(--color-peach)}.legacy-action-button:disabled{cursor:not-allowed;opacity:.45}.legacy-book-cover,.legacy-detail-cover{display:grid;place-items:center;overflow:hidden;color:var(--color-accent);background:var(--color-bg);border-radius:10px}.legacy-book-cover{width:100px;height:124px;font-size:42px;font-weight:760}.legacy-book-cover img,.legacy-detail-cover img{width:100%;height:100%;object-fit:cover}.legacy-book-card-body{min-width:0}.legacy-card-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding-right:88px}.legacy-card-title-row h2{margin:2px 0 6px;color:var(--color-ink);font-size:23px;font-weight:760;line-height:1.18}.legacy-card-title-row h2 a{color:inherit}.legacy-card-title-row h2 a:hover{color:var(--color-accent)}.legacy-book-author{margin:0;color:var(--color-text-secondary);font-size:16px}.legacy-subject-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.legacy-subject-row span{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:8px;color:var(--color-accent);background:var(--color-soft);font-size:14px;font-weight:600}.legacy-progress-caption{display:flex;justify-content:space-between;gap:16px;margin:18px 0 7px;color:var(--color-text-secondary);font-size:16px}.legacy-progress-caption strong{color:var(--color-ink)}.legacy-progress-bar{height:12px;overflow:hidden;border-radius:999px;background:var(--color-bg)}.legacy-progress-bar div{position:relative;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-accent));transition:width .55s ease}.legacy-progress-bar div:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-paper) 35%,transparent),transparent);animation:shimmer 2s infinite}.legacy-book-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin-top:18px;color:var(--color-text-secondary);font-size:15px}.legacy-detail-header{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:38px}.legacy-detail-header .legacy-brand-title{font-size:clamp(44px,5vw,66px)}.legacy-back-link{position:absolute;left:0;right:auto}.legacy-detail-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(340px,1fr);gap:40px;align-items:start}.legacy-detail-primary{display:grid;gap:28px;align-content:start;min-width:0}.legacy-detail-card{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);gap:30px;padding:30px;overflow:hidden}.legacy-detail-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--color-accent)}.legacy-detail-card.priority-border-high:before{background:var(--color-peach)}.legacy-detail-card.priority-border-medium:before{background:var(--color-peach)}.legacy-detail-card.priority-border-low:before{background:var(--color-accent)}.legacy-detail-cover{width:160px;height:210px;font-size:70px;font-weight:780}.legacy-detail-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.legacy-detail-title-row .status-badge{min-height:30px;padding:0 12px;border:1px solid transparent;font-size:13px;font-weight:700;box-shadow:none}.legacy-book-card .status-badge,.legacy-detail-card .status-badge{border:1px solid transparent;box-shadow:none}.legacy-book-card .status-reading,.legacy-detail-card .status-reading{color:var(--color-accent);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-accent) 32%,transparent)}.legacy-book-card .status-paused,.legacy-detail-card .status-paused{color:var(--color-peach);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-peach) 22%,transparent)}.legacy-book-card .status-finished,.legacy-detail-card .status-finished{color:var(--color-ink);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-accent) 24%,transparent)}.legacy-detail-title-row h1{margin:0 0 12px;color:var(--color-ink);font-size:clamp(28px,3vw,38px);line-height:1.1}.legacy-detail-title-row p{margin:0;color:var(--color-text-secondary);font-size:20px}.legacy-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 36px;margin-top:24px;color:var(--color-text-secondary);font-size:16px}.legacy-detail-facts strong{color:var(--color-ink)}.legacy-detail-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;padding-top:28px;border-top:1px solid var(--color-bg)}.legacy-detail-sidebar{display:grid;gap:18px;min-width:0}.legacy-progress-card,.legacy-status-message,.legacy-stat-panel,.legacy-stat-tabs-card{padding:24px}.legacy-progress-card{text-align:center}.legacy-progress-card h2,.legacy-status-message h2,.legacy-stat-panel h2,.legacy-history-card h2,.legacy-review-card h2{margin:0 0 18px;color:var(--color-ink);font-size:24px;line-height:1.15}.legacy-progress-ring{display:grid;place-items:center;width:136px;height:136px;margin:0 auto 26px;border-radius:50%;background:radial-gradient(circle,var(--color-paper) 56%,transparent 57%),conic-gradient(var(--color-accent) var(--progress-angle),var(--color-bg) 0)}.legacy-progress-ring div{color:var(--color-ink);font-size:30px;font-weight:780}.legacy-progress-card p{margin:8px 0 0;color:var(--color-text-secondary);font-size:17px}.legacy-status-message{color:var(--color-paper);text-align:center;background:linear-gradient(135deg,var(--color-accent),var(--color-accent))}.legacy-status-warning,.legacy-status-danger{background:linear-gradient(135deg,var(--color-peach),var(--color-peach))}.legacy-status-success{background:linear-gradient(135deg,var(--color-accent),var(--color-accent))}.legacy-status-paused{background:linear-gradient(135deg,var(--color-peach),var(--color-peach))}.legacy-status-normal{background:linear-gradient(135deg,var(--color-accent),var(--color-accent))}.legacy-status-message h2,.legacy-status-message p{color:var(--color-paper)}.legacy-status-message p{margin:0;font-size:17px;line-height:1.42}.legacy-stat-tabs{display:flex;gap:8px;padding:4px;overflow-x:auto;scrollbar-width:none;border-radius:14px;background:var(--color-soft)}.legacy-stat-tabs-card,.legacy-stat-tab-panel,.legacy-stat-tab-section{min-width:0}.legacy-stat-tabs::-webkit-scrollbar{display:none}.legacy-stat-tabs button{flex:1 0 max-content;min-height:34px;border:0;border-radius:10px;padding:0 12px;color:var(--color-text-secondary);background:transparent;cursor:pointer;font-size:13px;font-weight:720;white-space:nowrap;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.legacy-stat-tabs button:hover{color:var(--color-accent)}.legacy-stat-tabs button.active{color:var(--color-accent);background:var(--color-paper);box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 16%,transparent)}.legacy-stat-tab-panel{margin-top:18px}.legacy-stat-tab-section{display:grid;gap:16px}.legacy-regularity-list{padding-bottom:2px}.legacy-regularity-list+.legacy-stat-subsection{padding-top:16px;border-top:1px solid color-mix(in srgb,var(--color-line) 58%,transparent)}.legacy-stat-progress-section{text-align:center}.legacy-pace-section{min-width:0}.legacy-pace-period-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--color-line) 58%,transparent);border-radius:12px;background:var(--color-soft)}.legacy-pace-period-tabs button{min-width:0;min-height:36px;border:0;border-radius:8px;padding:0 10px;color:var(--color-text-secondary);background:transparent;cursor:pointer;font:inherit;font-size:13px;font-weight:760;white-space:nowrap;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.legacy-pace-period-tabs button:hover{color:var(--color-accent)}.legacy-pace-period-tabs button.active{color:var(--color-accent);background:var(--color-paper);box-shadow:0 6px 16px color-mix(in srgb,var(--color-accent) 12%,transparent)}.legacy-pace-summary{--pace-accent: var(--color-accent);display:grid;gap:16px;min-width:0;padding-top:16px;border-top:3px solid var(--pace-accent)}.legacy-pace-summary.tone-ahead{--pace-accent: var(--color-accent)}.legacy-pace-summary.tone-behind{--pace-accent: var(--color-peach)}.legacy-pace-summary.tone-no-data{--pace-accent: var(--color-accent)}.legacy-pace-summary-head,.legacy-pace-forecast-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.legacy-pace-summary-head>div{display:grid;gap:3px;min-width:0}.legacy-pace-summary-head strong{color:var(--color-ink);font-size:15px;line-height:1.2}.legacy-pace-summary-head div span,.legacy-pace-comparison{color:var(--color-text-secondary);font-size:12px;line-height:1.35}.legacy-pace-delta{flex:0 1 auto;max-width:58%;color:var(--pace-accent);text-align:right;font-size:13px;font-weight:800;line-height:1.3}.legacy-pace-primary-value{display:flex;align-items:baseline;gap:10px;min-width:0}.legacy-pace-primary-value strong{min-width:0;color:var(--color-ink);font-size:34px;font-weight:860;line-height:1}.legacy-pace-primary-value span{color:var(--color-text-secondary);font-size:13px;font-weight:650}.legacy-pace-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-block:1px solid color-mix(in srgb,var(--color-line) 58%,transparent)}.legacy-pace-metrics div{display:grid;gap:4px;min-width:0;padding:12px;border-top:1px solid color-mix(in srgb,var(--color-line) 44%,transparent)}.legacy-pace-metrics div:nth-child(-n+2){border-top:0}.legacy-pace-metrics div:nth-child(odd){padding-left:0;border-right:1px solid color-mix(in srgb,var(--color-line) 44%,transparent)}.legacy-pace-metrics div:nth-child(2n){padding-right:0}.legacy-pace-metrics dt,.legacy-pace-forecast dt{color:var(--color-text-secondary);font-size:12px;line-height:1.25}.legacy-pace-metrics dd,.legacy-pace-forecast dd{overflow-wrap:anywhere;margin:0;color:var(--color-ink);font-size:15px;font-weight:780;line-height:1.25}.legacy-pace-comparison{margin:-2px 0 0}.legacy-pace-forecast{display:grid;gap:12px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--color-line) 58%,transparent)}.legacy-pace-forecast-head h3{margin:0;color:var(--color-ink);font-size:16px;line-height:1.2}.legacy-pace-forecast-head span{color:var(--color-text-secondary);text-align:right;font-size:12px;font-weight:700;line-height:1.3}.legacy-pace-forecast dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.legacy-pace-forecast dl div{display:grid;gap:5px;min-width:0}.legacy-pace-forecast dl div+div{padding-left:12px;border-left:1px solid color-mix(in srgb,var(--color-line) 50%,transparent)}.legacy-pace-forecast dd{color:var(--color-ink);font-size:17px}.legacy-recent-reading-panel{display:grid;gap:14px;min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--color-line) 38%,transparent);border-radius:20px;background:color-mix(in srgb,var(--color-paper) 82%,transparent);box-shadow:0 18px 38px color-mix(in srgb,var(--color-ink) 6%,transparent)}.legacy-recent-reading-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.legacy-recent-reading-head h3{margin:0;color:var(--color-ink);font-size:19px;line-height:1.12}.legacy-recent-reading-head strong{color:var(--color-accent);font-size:14px;font-weight:860;white-space:nowrap}.legacy-recent-reading-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.legacy-recent-reading-feature{display:grid;justify-items:center;gap:7px;min-width:0;padding:14px 12px 16px;border:1px solid color-mix(in srgb,var(--color-line) 34%,transparent);border-radius:20px;background:radial-gradient(circle at 50% 72%,color-mix(in srgb,var(--color-accent) 20%,transparent),transparent 42%),color-mix(in srgb,var(--color-paper) 92%,transparent)}.legacy-recent-reading-feature.has-pages{background:radial-gradient(circle at 50% 72%,color-mix(in srgb,var(--color-accent) 28%,transparent),transparent 44%),linear-gradient(180deg,color-mix(in srgb,var(--color-paper) 96%,transparent),color-mix(in srgb,var(--color-paper) 88%,transparent))}.legacy-recent-reading-date{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.legacy-recent-reading-date span{min-width:0;padding:7px 12px;border-radius:999px;color:var(--color-ink);font-size:14px;font-weight:860;line-height:1;background:color-mix(in srgb,var(--color-soft) 95%,transparent)}.legacy-recent-reading-date svg{flex:0 0 auto;padding:7px;box-sizing:content-box;border-radius:999px;color:var(--color-accent);background:color-mix(in srgb,var(--color-soft) 94%,transparent)}.legacy-recent-reading-feature strong{color:var(--color-accent);font-size:42px;font-weight:880;line-height:1}.legacy-recent-reading-feature small{color:var(--color-accent);font-size:13px;font-weight:820}.legacy-recent-reading-feature.is-empty strong,.legacy-recent-reading-feature.is-empty small{color:var(--color-text-secondary)}.legacy-recent-day-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--color-paper) 88%,transparent)}.legacy-recent-day-tile{display:grid;justify-items:center;gap:5px;min-width:0;padding:9px 6px;border-radius:12px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 78%,transparent)}.legacy-recent-day-tile span{color:var(--color-text-secondary);font-size:11px;font-weight:760;white-space:nowrap}.legacy-recent-day-tile strong{color:var(--color-ink);font-size:19px;font-weight:760;line-height:1}.legacy-recent-day-tile.has-pages{color:var(--color-accent);background:var(--color-soft)}.legacy-recent-day-tile.has-pages strong,.legacy-recent-day-tile.has-pages span{color:var(--color-accent)}.legacy-recent-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid color-mix(in srgb,var(--color-line) 45%,transparent);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--color-paper) 86%,transparent)}.legacy-recent-summary-grid div{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon label" "icon value";column-gap:10px;align-items:center;min-width:0;padding:14px;border-top:1px solid color-mix(in srgb,var(--color-line) 46%,transparent)}.legacy-recent-summary-grid div:nth-child(1),.legacy-recent-summary-grid div:nth-child(2){border-top:0}.legacy-recent-summary-grid div:nth-child(odd){border-right:1px solid color-mix(in srgb,var(--color-line) 46%,transparent)}.legacy-recent-summary-grid span{grid-area:icon;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;color:var(--color-accent);background:var(--color-soft)}.legacy-recent-summary-grid dt{grid-area:label;overflow:hidden;color:var(--color-text-secondary);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.legacy-recent-summary-grid dd{grid-area:value;margin:2px 0 0;color:var(--color-ink);font-size:22px;font-weight:860;line-height:1.1}.legacy-chart-empty{margin:0;padding:14px;border-radius:12px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 88%,transparent)}.legacy-stat-list{display:grid;gap:12px;margin:0}.legacy-stat-list div{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--color-line) 58%,transparent)}.legacy-stat-list div:last-child{border-bottom:0}.legacy-stat-list dt{color:var(--color-text-secondary);font-size:14px}.legacy-stat-list dd{margin:0;color:var(--color-ink);text-align:right;font-weight:650}.legacy-history-card,.legacy-review-card{margin-top:32px;padding:30px}.legacy-detail-primary .legacy-history-card,.legacy-detail-primary .legacy-review-card{margin-top:0}.legacy-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.legacy-section-title-row h2{margin-bottom:0}.legacy-history-list{display:grid;gap:20px}.legacy-history-group{border-left:3px solid var(--color-accent);padding-left:20px}.legacy-history-group h3{margin:0 0 12px;color:var(--color-ink);font-size:20px}.legacy-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:14px 16px;background:color-mix(in srgb,var(--color-paper) 88%,transparent);border-left:2px solid var(--color-line)}.legacy-history-item+.legacy-history-item{margin-top:10px}.legacy-history-item strong{color:var(--color-ink)}.legacy-history-item p{margin:6px 0 0;color:var(--color-text-secondary)}.legacy-history-item span{color:var(--color-accent);font-weight:700;white-space:nowrap}.legacy-history-actions{display:flex;justify-content:center;gap:12px;margin-top:22px}.legacy-review-card{display:grid;gap:18px}.legacy-review-card .legacy-section-title-row{margin-bottom:0}.legacy-review-card .legacy-section-title-row>div>p{margin:6px 0 0;color:var(--color-text-secondary)}.legacy-review-card>div>p{margin:-12px 0 0;color:var(--color-text-secondary)}.legacy-review-summary{display:grid;gap:18px;padding:18px 20px;border-left:4px solid var(--color-accent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 14%,transparent),color-mix(in srgb,var(--color-paper) 72%,transparent)),color-mix(in srgb,var(--color-paper) 92%,transparent)}.legacy-review-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.legacy-review-stars{display:flex;gap:4px;margin-top:0;color:var(--color-peach)}.legacy-review-date{color:var(--color-text-secondary);font-size:14px;font-weight:650;white-space:nowrap}.legacy-review-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.legacy-review-summary-grid article{min-width:0;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--color-accent) 28%,transparent)}.legacy-review-summary-grid article span{display:block;color:var(--color-text-secondary);font-size:13px;font-weight:760;margin-bottom:7px}.legacy-review-summary-grid article p{margin:0;color:var(--color-ink);font-size:16px;line-height:1.52;white-space:pre-wrap}.legacy-review-form-actions{display:flex;flex-wrap:wrap;gap:10px}.legacy-form-modal{position:relative;width:min(960px,96vw)}.legacy-modal-close{position:absolute;top:16px;right:16px;z-index:3;width:36px;min-height:36px;height:36px;padding:0;color:var(--color-text-secondary);background:var(--color-paper);border:1px solid var(--color-line)}.legacy-form-modal .panel{margin-bottom:0;padding-top:46px}.modal-panel{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-accent) 72%,transparent) transparent}.modal-panel::-webkit-scrollbar{width:12px}.modal-panel::-webkit-scrollbar-track{background:transparent}.modal-panel::-webkit-scrollbar-thumb{border:3px solid color-mix(in srgb,var(--color-paper) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-accent) 68%,transparent)}.modal-panel::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-accent) 86%,transparent)}@keyframes legacy-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1120px){.legacy-library-summary,.legacy-attention-list{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-filter-panel,.legacy-detail-layout{grid-template-columns:1fr}.legacy-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-filter-actions{justify-content:flex-end}}@media(max-width:760px){.legacy-books-page{width:min(100% - 28px,1360px);padding-top:18px}.legacy-library-summary{grid-template-columns:1fr}.legacy-compact-summary,.legacy-books-view-tabs{justify-content:flex-start}.legacy-books-view-tabs button{flex:0 0 auto}.legacy-attention-list{grid-template-columns:1fr}.legacy-heatmap-heading,.legacy-stat-subheading,.legacy-heatmap-footer{align-items:flex-start;flex-direction:column}.legacy-calendar-heatmap{grid-template-columns:repeat(7,minmax(30px,44px))}.legacy-calendar-day{height:38px}.legacy-range-heatmap.range-halfYear{--heatmap-cell-size: 8.5px;--heatmap-gap: 2px}.legacy-range-heatmap.range-year{--heatmap-cell-size: 5.5px;--heatmap-gap: 1.5px}.legacy-range-weekdays{grid-template-rows:repeat(7,var(--heatmap-cell-size));font-size:8px}.legacy-stat-tabs button{flex:0 0 auto}.legacy-stat-tabs-card{padding:18px}.legacy-pace-summary-head,.legacy-pace-forecast-head{align-items:flex-start;flex-direction:column;gap:6px}.legacy-pace-delta,.legacy-pace-forecast-head span{max-width:none;text-align:left}.legacy-recent-reading-feature-grid,.legacy-recent-summary-grid{grid-template-columns:1fr}.legacy-recent-day-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-recent-summary-grid div,.legacy-recent-summary-grid div:nth-child(odd){border-right:0}.legacy-recent-summary-grid div:nth-child(2){border-top:1px solid color-mix(in srgb,var(--color-line) 46%,transparent)}.legacy-filter-grid,.legacy-books-grid,.legacy-detail-card,.legacy-detail-facts,.legacy-book-meta-grid{grid-template-columns:1fr}.legacy-book-card{grid-template-columns:78px minmax(0,1fr);padding:20px}.legacy-book-cover{width:78px;height:104px}.legacy-card-title-row,.legacy-detail-title-row{grid-template-columns:1fr}.legacy-card-actions{position:static;grid-column:1 / -1;opacity:1;transform:none;margin-top:14px}.legacy-detail-cover{width:132px;height:176px}.legacy-back-link{position:static;margin-top:16px}.legacy-hero-back{justify-self:start;margin-top:0}.legacy-detail-header{display:grid}.legacy-data-actions{position:static;margin-bottom:8px}.legacy-section-title-row{align-items:flex-start;flex-direction:column}}.field select,.toolbar select,.legacy-filter-grid select{appearance:none;-webkit-appearance:none;padding-right:46px;background-color:color-mix(in srgb,var(--color-paper) 96%,transparent);background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 7.5L10 12L14.5 7.5' stroke='%232f7f9e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(180deg,color-mix(in srgb,var(--color-paper) 96%,transparent),color-mix(in srgb,var(--color-paper) 96%,transparent));background-position:right 16px center,0 0;background-repeat:no-repeat,no-repeat;background-size:16px 16px,100% 100%;cursor:pointer}.field select::-ms-expand,.toolbar select::-ms-expand,.legacy-filter-grid select::-ms-expand{display:none}.field select,.toolbar select{min-height:46px;border-width:2px;border-radius:12px;color:var(--color-ink);font-weight:620;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 6%,transparent),0 6px 16px color-mix(in srgb,var(--color-ink) 7%,transparent)}.legacy-filter-panel{grid-template-columns:1fr;align-items:stretch}.legacy-filter-grid{grid-template-columns:minmax(260px,1.4fr) minmax(170px,.85fr) minmax(170px,.85fr) minmax(270px,1.1fr) minmax(170px,.85fr)}.legacy-filter-grid select{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 6%,transparent),0 6px 16px color-mix(in srgb,var(--color-ink) 7%,transparent);text-overflow:ellipsis}.legacy-filter-actions{justify-content:flex-end}.legacy-filter-actions .legacy-primary-action{flex:0 0 auto;min-width:230px;white-space:nowrap}.legacy-book-sections{display:grid;gap:34px}.legacy-book-section{display:grid;gap:18px}.legacy-book-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.legacy-book-section-heading h2{margin:0;color:var(--color-ink);font-size:24px;line-height:1.15}.legacy-book-section-heading p{margin:5px 0 0;color:var(--color-text-secondary)}.legacy-book-section-heading>span{display:inline-grid;place-items:center;min-width:38px;height:32px;border-radius:999px;color:var(--color-accent);background:var(--color-soft);font-weight:800}.legacy-books-grid{align-items:stretch}.legacy-book-card{grid-template-columns:108px minmax(0,1fr);min-height:302px;height:100%}.legacy-book-card-body{display:flex;min-height:0;flex-direction:column}.legacy-card-title-row{min-height:58px}.legacy-card-state{display:grid;justify-items:end;gap:8px}.legacy-review-pending{display:inline-flex;align-items:center;min-height:26px;padding:0 11px;border:1px solid color-mix(in srgb,var(--color-peach) 25%,transparent);border-radius:999px;color:var(--color-peach);background:var(--color-soft);font-size:12px;font-weight:740;white-space:nowrap}.legacy-plan-status{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:760;white-space:nowrap}.legacy-plan-success{color:var(--color-ink);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-accent) 22%,transparent)}.legacy-plan-normal{color:var(--color-accent);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-accent) 28%,transparent)}.legacy-plan-warning{color:var(--color-peach);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-peach) 25%,transparent)}.legacy-plan-danger{color:var(--color-peach);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-peach) 22%,transparent)}.legacy-plan-paused{color:var(--color-text-secondary);background:var(--color-soft);border-color:color-mix(in srgb,var(--color-accent) 25%,transparent)}.legacy-rating-stars{display:inline-flex;gap:2px;color:var(--color-peach)}.legacy-book-meta-grid{margin-top:auto;min-height:96px}.legacy-book-meta-grid span{display:grid;min-width:0;gap:3px;padding:8px 10px;overflow:hidden;border-radius:10px;color:var(--color-ink);background:color-mix(in srgb,var(--color-paper) 88%,transparent);text-overflow:ellipsis}.legacy-book-meta-grid strong{display:inline-flex;align-items:center;gap:5px;color:var(--color-text-secondary);font-size:12px;font-weight:720}.legacy-card-note{min-height:20px;margin:10px 0 0;overflow:hidden;color:var(--color-peach);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.legacy-card-plan-note{min-height:18px;margin:9px 0 0;overflow:hidden;color:var(--color-text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.legacy-detail-actions{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:20px;white-space:nowrap}.legacy-detail-action-group{display:flex;min-width:0;flex-wrap:nowrap;align-items:center;gap:8px}.legacy-detail-action-group-main:empty{display:none}.legacy-detail-action-group-secondary{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-start}.legacy-detail-actions .legacy-primary-action{min-height:44px;border-radius:10px;padding:0 12px;font-size:14px}.legacy-detail-actions .legacy-secondary-action{min-height:44px;border-radius:9px;padding:0 10px;color:var(--color-text-secondary);background:var(--color-paper);box-shadow:none;font-size:13px}.legacy-detail-actions .legacy-secondary-action:hover{color:var(--color-accent);background:var(--color-paper)}.legacy-detail-actions .legacy-detail-delete-action{width:44px;flex:0 0 44px;min-height:44px;margin-left:auto;padding:0;border-radius:10px;box-shadow:none}.edit-book-form{gap:12px}.edit-book-form .panel-heading{margin-bottom:4px;padding-right:42px}.edit-book-form .panel-heading h2{font-size:22px}.edit-book-form .panel-heading p{margin-top:5px}.edit-book-top-grid{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:stretch;gap:14px}.edit-book-text-grid{display:grid;grid-template-columns:1fr;align-content:start;gap:12px}.edit-book-form .field{align-content:start}.edit-book-form .field input,.edit-book-form .field select{min-height:44px;padding:8px 14px}.edit-book-form .cover-upload{grid-template-columns:1fr;justify-items:center;align-content:start;gap:10px;min-height:192px;padding:12px;border:1px solid color-mix(in srgb,var(--color-line) 72%,transparent);border-radius:14px;background:color-mix(in srgb,var(--color-paper) 62%,transparent)}.edit-book-form .cover-preview{width:96px;height:126px;border-radius:10px;font-size:14px}.edit-book-form .cover-button{justify-self:center;min-height:38px;padding:0 13px;border-radius:10px;font-size:14px}.edit-book-form .cover-upload .field-hint,.edit-book-form .cover-error{grid-column:1;text-align:center}.edit-book-form .chip-grid{gap:8px}.edit-book-form .chip{min-height:38px;padding:0 14px;border-radius:999px}.edit-book-settings-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:12px}.edit-book-settings-grid .field>span{min-height:34px;display:flex;align-items:flex-end}.edit-book-settings-grid .field-hint{line-height:1.35}.edit-book-form .primary-button{min-height:42px;margin-top:2px}.legacy-cycle-list{display:grid;gap:12px}.legacy-cycle-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 16px;border-left:3px solid var(--color-accent);border-radius:12px;background:color-mix(in srgb,var(--color-paper) 90%,transparent)}.legacy-cycle-item h3,.legacy-cycle-item p{margin:0}.legacy-cycle-item h3{color:var(--color-ink);font-size:16px}.legacy-cycle-item p,.legacy-cycle-item span{color:var(--color-text-secondary);font-size:14px}.legacy-cycle-item>div:last-child{display:grid;justify-items:end;gap:4px}@media(max-width:1180px){.legacy-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-book-top-grid{grid-template-columns:220px minmax(0,1fr)}.edit-book-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.legacy-filter-actions{align-items:stretch;flex-direction:column}.legacy-filter-actions>*{width:100%}.legacy-book-section-heading,.legacy-review-summary-grid,.legacy-cycle-item{grid-template-columns:1fr}.legacy-detail-actions{flex-wrap:wrap;white-space:normal}.legacy-detail-action-group-main,.legacy-detail-action-group-secondary{flex-wrap:wrap;width:100%}.legacy-detail-actions .legacy-primary-action,.legacy-detail-actions .legacy-secondary-action{flex:1 1 140px}.edit-book-text-grid,.edit-book-settings-grid,.edit-book-top-grid,.edit-book-form .cover-upload{grid-template-columns:1fr}.legacy-book-section-heading{align-items:flex-start}.legacy-review-summary-top,.legacy-review-form-actions{align-items:flex-start;flex-direction:column}.legacy-card-state,.legacy-cycle-item>div:last-child{justify-items:start}.legacy-book-card{min-height:0}}.home-page .page-header{margin-bottom:18px}.today-panel{position:relative;overflow:hidden;margin-bottom:30px;border:1px solid color-mix(in srgb,var(--color-accent) 34%,transparent);border-radius:22px;background:color-mix(in srgb,var(--color-paper) 94%,transparent);box-shadow:0 24px 60px color-mix(in srgb,var(--color-accent) 12%,transparent)}.today-panel:before{position:absolute;top:-90px;left:-70px;width:260px;height:260px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 12%,transparent);content:"";pointer-events:none}.today-panel-header{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:22px;padding:20px 24px;border-bottom:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent)}.today-eyebrow{margin:0 0 5px;color:var(--color-accent);font-size:12px;font-weight:780;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.today-panel-header h2,.today-empty-panel h2{margin:0;color:var(--color-ink);font-size:24px;line-height:1.15}.today-book-picker{display:grid;min-width:min(310px,100%);gap:6px}.today-book-picker span,.today-progress-form>label{color:var(--color-text-secondary);font-size:12px;font-weight:700}.today-book-picker select{width:100%;min-height:42px;padding:0 36px 0 12px;border:1px solid color-mix(in srgb,var(--color-accent) 46%,transparent);border-radius:10px;color:var(--color-ink);background:color-mix(in srgb,var(--color-paper) 92%,transparent)}.today-book-picker select:focus-visible,.today-progress-input:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 20%,transparent);outline:none}.today-alternatives-wrap{display:grid;flex:1 1 auto;min-width:0;max-width:690px;gap:6px}.today-alternatives-wrap>span{color:var(--color-text-secondary);font-size:12px;font-weight:700}.today-alternatives{display:flex;justify-content:flex-end;gap:8px;min-width:0}.today-alternative{display:grid;flex:1 1 150px;min-width:0;max-width:190px;min-height:48px;align-content:center;gap:2px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--color-accent) 34%,transparent);border-radius:11px;color:var(--color-ink);text-align:left;background:color-mix(in srgb,var(--color-paper) 82%,transparent);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.today-alternative:hover,.today-alternative:focus-visible{border-color:var(--color-accent);background:var(--color-paper);outline:none;transform:translateY(-1px)}.today-alternative.recommended{border-color:color-mix(in srgb,var(--color-accent) 48%,transparent);background:var(--color-soft)}.today-alternative:disabled{cursor:default;opacity:.66;transform:none}.today-alternative-title,.today-alternative-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-alternative-title{font-size:12px;font-weight:720}.today-alternative-meta{color:var(--color-text-secondary);font-size:10px}.today-alternatives-more{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:48px;padding:0 10px;border-radius:10px;color:var(--color-accent);background:color-mix(in srgb,var(--color-soft) 76%,transparent);font-size:11px;font-weight:720}.today-storage-error{position:relative;z-index:1;padding:11px 24px;color:var(--color-peach);background:var(--color-paper);border-bottom:1px solid var(--color-soft);font-size:13px}.today-panel-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)}.today-book-focus,.today-quick-progress{min-width:0;padding:26px}.today-book-focus{border-right:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent)}.today-book-heading{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:16px}.today-book-cover{display:grid;place-items:center;width:70px;height:92px;overflow:hidden;border-radius:12px;color:var(--color-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent) 35%,transparent),color-mix(in srgb,var(--color-paper) 90%,transparent)),var(--color-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 14%,transparent)}.today-book-cover img{width:100%;height:100%;object-fit:cover}.today-book-copy{min-width:0}.today-focus-reason{display:grid;gap:4px;margin-bottom:9px;padding-left:10px;border-left:3px solid var(--color-accent)}.today-focus-reason.manual{border-left-color:var(--color-accent)}.today-focus-reason-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.today-focus-reason-top>span{display:inline-flex;align-items:center;gap:5px;color:var(--color-accent);font-size:10px;font-weight:800;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.today-focus-reason.manual .today-focus-reason-top>span{color:var(--color-ink)}.today-focus-reason>strong{color:var(--color-ink);font-size:12px;line-height:1.35}.today-focus-reset{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;color:var(--color-accent);background:transparent;cursor:pointer;font-size:10px;font-weight:700}.today-focus-reset:hover,.today-focus-reset:focus-visible{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;outline:none}.today-reason-chips{display:flex;flex-wrap:wrap;gap:5px}.today-reason-chips span{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;color:var(--color-text-secondary);background:var(--color-bg);font-size:9px;font-weight:650}.today-priority{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:720}.today-priority.priority-high,.today-priority.priority-medium{color:var(--color-peach);background:var(--color-soft)}.today-priority.priority-low{color:var(--color-ink);background:var(--color-soft)}.today-book-copy h3{overflow:hidden;margin:8px 0 3px;color:var(--color-ink);font-size:clamp(20px,2vw,25px);line-height:1.16;text-overflow:ellipsis;white-space:nowrap}.today-book-copy p{overflow:hidden;margin:0;color:var(--color-text-secondary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.today-target-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:24px;color:var(--color-text-secondary);font-size:13px}.today-target-heading strong{color:var(--color-ink);font-size:14px}.today-progress-track{height:10px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--color-bg)}.today-progress-track>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-accent),var(--color-accent));transition:width .32s ease}.today-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.today-metric{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 7px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:12px;color:var(--color-accent);background:color-mix(in srgb,var(--color-paper) 88%,transparent)}.today-metric span{overflow:hidden;color:var(--color-text-secondary);font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.today-metric strong{grid-column:1 / -1;color:var(--color-ink);font-size:17px;line-height:1.15}.today-skip-note{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;padding:11px 12px;border-radius:11px;color:var(--color-peach);background:var(--color-soft);font-size:12px;line-height:1.45}.today-skip-note svg{flex:0 0 auto;margin-top:1px}.today-skip-note.complete{color:var(--color-ink);background:var(--color-soft)}.today-quick-progress{display:flex;flex-direction:column;background:linear-gradient(145deg,color-mix(in srgb,var(--color-soft) 72%,transparent),color-mix(in srgb,var(--color-paper) 82%,transparent))}.today-quick-progress h3{margin:0;color:var(--color-ink);font-size:22px;line-height:1.18}.today-quick-progress>div:first-child>p:last-child{margin:6px 0 0;color:var(--color-text-secondary);font-size:13px}.today-progress-form{display:grid;gap:8px;margin-top:22px}.today-progress-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.today-progress-input{display:grid;grid-template-columns:auto minmax(55px,1fr) auto;align-items:center;min-height:48px;overflow:hidden;padding:0 12px;border:1px solid color-mix(in srgb,var(--color-accent) 46%,transparent);border-radius:11px;color:var(--color-accent);background:var(--color-paper)}.today-progress-input input{width:100%;min-width:0;padding:0 6px;border:0;color:var(--color-ink);background:transparent;font-size:21px;font-weight:760;outline:none}.today-progress-input small{color:var(--color-text-secondary);font-size:12px}.today-save-button{min-height:48px;padding-inline:18px}.today-field-hint{margin:0;color:var(--color-text-secondary);font-size:11px}.today-quick-values{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.today-quick-values .secondary-button{min-width:48px;min-height:38px;padding:0 11px}.today-feedback{min-height:21px;margin-top:3px;font-size:12px;line-height:1.4}.today-inline-error{color:var(--color-peach)}.today-inline-notice,.today-inline-success{color:var(--color-ink)}.today-card-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:auto;padding-top:16px}.today-card-links a,.home-section-link{color:var(--color-accent);font-size:13px;font-weight:700}.today-card-links a:hover,.home-section-link:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.today-empty-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px}.today-empty-panel .today-empty-description{margin:7px 0 0;color:var(--color-text-secondary);font-size:14px}.today-empty-panel .today-empty-error{color:var(--color-peach);font-size:12px}.today-empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;color:var(--color-accent);background:var(--color-soft)}.today-panel-loading{display:grid;gap:13px;min-height:220px;align-content:center;padding:28px}.today-loading-line{width:min(620px,100%);height:18px;border-radius:999px;background:linear-gradient(90deg,var(--color-bg),var(--color-paper),var(--color-bg));background-size:200% 100%;animation:today-loading 1.4s linear infinite}.today-loading-line-short{width:min(230px,58%)}@keyframes today-loading{to{background-position:-200% 0}}.home-modules{margin-top:4px}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.home-section-heading h2{margin:0;color:var(--color-ink);font-size:22px}.home-section-heading p{margin:4px 0 0;color:var(--color-text-secondary);font-size:13px}@media(max-width:900px){.app-shell:not(.books-legacy-shell) .sidebar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;height:auto;align-content:start;padding:8px 16px;gap:14px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent)}.app-shell:not(.books-legacy-shell) .brand{padding:0}.app-shell:not(.books-legacy-shell) .brand-logo{width:40px;height:40px}.app-shell:not(.books-legacy-shell) .brand-caption,.app-shell:not(.books-legacy-shell) .sidebar-footer{display:none}.app-shell:not(.books-legacy-shell) .nav-list{display:flex;justify-content:flex-end;gap:6px}.app-shell:not(.books-legacy-shell) .nav-link{min-height:42px;padding:0 11px}.today-panel-body{grid-template-columns:1fr}.today-book-focus{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent)}}@media(max-width:760px){.app-shell:not(.books-legacy-shell) .content{padding:16px}.home-page .page-header{margin-bottom:14px}.home-page .page-header p{font-size:13px}.today-panel{margin-bottom:24px;border-radius:17px}.today-panel-header{display:grid;align-items:start;padding:17px}.today-panel-header h2,.today-empty-panel h2{font-size:21px}.today-book-picker{width:100%;min-width:0}.today-alternatives-wrap{width:100%;max-width:none}.today-alternatives{display:grid;justify-content:start;grid-auto-flow:column;grid-auto-columns:minmax(150px,72%);gap:8px;overflow-x:auto;padding:1px 1px 5px;scroll-snap-type:x proximity;scrollbar-width:thin}.today-alternative,.today-alternatives-more{width:auto;max-width:none;min-height:48px;scroll-snap-align:start}.today-book-focus,.today-quick-progress{padding:18px 17px}.today-book-heading{grid-template-columns:56px minmax(0,1fr);gap:12px}.today-book-cover{width:56px;height:74px;border-radius:10px}.today-book-copy h3{font-size:19px}.today-focus-reason-top{align-items:flex-start;flex-direction:column;gap:4px}.today-target-heading{margin-top:20px}.today-metrics{gap:7px}.today-metric{display:block;padding:10px 8px}.today-metric svg{width:16px;height:16px;margin-bottom:5px}.today-metric span{display:block;white-space:normal}.today-metric strong{display:block;margin-top:5px;font-size:15px}.today-save-button{padding-inline:14px}.today-quick-values .secondary-button{min-height:44px}.today-empty-panel{grid-template-columns:auto minmax(0,1fr);padding:18px}.today-empty-panel .primary-button{grid-column:1 / -1;width:100%}.home-section-heading{align-items:flex-start;flex-direction:column;gap:7px}}@media(max-width:420px){.app-shell:not(.books-legacy-shell) .brand-name{font-size:16px}.app-shell:not(.books-legacy-shell) .nav-link{width:42px;padding:0}.app-shell:not(.books-legacy-shell) .nav-link span{display:none}.today-progress-input-row{grid-template-columns:minmax(0,1fr) auto}.today-save-button{padding-inline:12px}}.app-shell:not(.books-legacy-shell) .nav-list{min-height:0;overflow-y:auto;padding:2px;scrollbar-width:thin}.app-shell:not(.books-legacy-shell) .nav-link{min-height:44px;flex:0 0 auto}.app-shell:not(.books-legacy-shell) .nav-link:focus-visible,.sport-back-link:focus-visible,.section-tab:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.app-shell:not(.books-legacy-shell) .sidebar-footer .ghost-icon-button{width:44px;height:44px;min-height:44px}.sport-page{--sport-accent: var(--color-accent);--sport-ink: var(--color-accent);--sport-soft: var(--color-soft);--sport-border: color-mix(in srgb, var(--color-accent) 28%, transparent);--section-tabs-accent: var(--sport-accent);--section-tabs-ink: var(--sport-ink);--section-tabs-soft: var(--sport-soft);--section-tabs-border: var(--sport-border);--section-tabs-shadow: color-mix(in srgb, var(--color-accent) 11%, transparent)}.sport-back-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin:-8px 0 10px;padding:0 4px;border-radius:8px;color:var(--color-text-secondary);font-size:13px;font-weight:700;transition:color .16s ease}.sport-back-link:hover{color:var(--sport-ink)}.sport-header{display:flex;align-items:center;gap:18px;margin-bottom:24px}.sport-header-icon{display:grid;flex:0 0 auto;place-items:center;width:58px;height:58px;border:1px solid var(--sport-border);border-radius:17px;color:var(--sport-ink);background:linear-gradient(145deg,var(--color-paper),var(--sport-soft));box-shadow:0 14px 30px color-mix(in srgb,var(--color-accent) 13%,transparent)}.sport-header-copy{min-width:0}.app-shell button>svg,.app-shell a>svg{flex-shrink:0}@media(pointer:coarse){.app-shell input:not([type=checkbox]):not([type=radio]),.app-shell select,.app-shell textarea{font-size:16px}}.sport-header-copy>span{display:block;margin-bottom:4px;color:var(--color-accent);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.sport-header h1{margin:0;color:var(--color-ink);font-size:clamp(32px,4vw,40px);line-height:1.05}.sport-header p{max-width:720px;margin:8px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.55}.section-tabs{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;max-width:680px;margin-bottom:22px;padding:5px;border:1px solid var(--section-tabs-border, var(--color-bg));border-radius:15px;background:var(--section-tabs-soft, color-mix(in srgb, var(--color-soft) 82%, transparent))}.section-tab{position:relative;display:inline-flex;flex:1 1 140px;min-width:0;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid transparent;border-radius:11px;color:var(--color-text-secondary);font-size:14px;font-weight:700;text-align:center;white-space:normal;overflow-wrap:anywhere;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.section-tab:hover{color:var(--section-tabs-ink, var(--color-ink))}.section-tab.is-active{border-color:var(--section-tabs-border, var(--color-bg));color:var(--section-tabs-ink, var(--color-ink));background:var(--color-paper);box-shadow:0 2px 6px var(--section-tabs-shadow, color-mix(in srgb, var(--color-ink) 6%, transparent))}.section-tab>svg{flex:0 0 auto}.section-tab>span{min-width:0}.sport-section-content{min-width:0}.sport-placeholder{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;min-height:300px;overflow:hidden;padding:34px;border:1px solid var(--sport-border);border-radius:20px;background:color-mix(in srgb,var(--color-paper) 92%,transparent);box-shadow:0 20px 50px color-mix(in srgb,var(--color-accent) 8%,transparent)}.sport-placeholder:after{position:absolute;top:-110px;right:-90px;width:270px;height:270px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 13%,transparent);content:"";pointer-events:none}.sport-placeholder-icon,.sport-placeholder-copy{position:relative;z-index:1}.sport-placeholder-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;color:var(--sport-ink);background:var(--sport-soft)}.sport-placeholder-copy{max-width:640px}.sport-placeholder-copy>span{display:block;margin-bottom:6px;color:var(--color-accent);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sport-placeholder h2{margin:0;color:var(--color-ink);font-size:clamp(22px,3vw,28px);line-height:1.2}.sport-placeholder p{max-width:620px;margin:10px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.65}@media(max-width:900px){.app-shell:not(.books-legacy-shell) .nav-list{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none}.app-shell:not(.books-legacy-shell) .nav-list::-webkit-scrollbar{display:none}}@media(max-width:560px){.sport-back-link{margin-top:-4px}.sport-header{align-items:flex-start;gap:13px}.sport-header-icon{width:50px;height:50px;border-radius:14px}.sport-header h1{font-size:30px}.sport-header p{font-size:13px}.section-tabs{max-width:none}.section-tab{flex-basis:132px;min-height:48px;padding-inline:13px}.sport-placeholder{grid-template-columns:1fr;align-content:center;gap:15px;min-height:270px;padding:25px 22px;border-radius:17px}.sport-placeholder-icon{width:50px;height:50px;border-radius:14px}}@media(max-width:420px){.app-shell:not(.books-legacy-shell) .nav-link{width:44px;min-width:44px}}.legacy-detail-page-flow{display:grid;gap:28px;align-content:start}.legacy-detail-overview-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.82fr);gap:24px;align-items:start}.legacy-detail-cycle-summary,.book-insights-card{border:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent);border-radius:20px;background:color-mix(in srgb,var(--color-paper) 96%,transparent);box-shadow:0 18px 44px color-mix(in srgb,var(--color-accent) 12%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legacy-detail-cycle-summary{display:grid;gap:20px;padding:24px}.legacy-detail-cycle-summary>div>span{color:var(--color-accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.legacy-detail-cycle-summary h2{margin:6px 0 0;color:var(--color-ink);font-size:22px}.legacy-detail-cycle-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.legacy-detail-cycle-summary dl>div{display:grid;gap:5px;min-width:0;padding:13px;border:1px solid var(--color-bg);border-radius:13px;background:var(--color-paper)}.legacy-detail-cycle-summary dt,.legacy-detail-cycle-summary dd{margin:0}.legacy-detail-cycle-summary dt{color:var(--color-text-secondary);font-size:12px}.legacy-detail-cycle-summary dd{color:var(--color-ink);font-size:17px;font-weight:760}.legacy-detail-page-flow>.legacy-review-card{margin-top:0}.book-insights-card{min-width:0;overflow:hidden}.book-insights-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px 22px}.book-insights-heading p,.book-insights-heading h2,.book-insights-heading span{margin:0}.book-insights-heading p{margin-bottom:5px;color:var(--color-accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.book-insights-heading h2{color:var(--color-ink);font-size:26px;line-height:1.15}.book-insights-heading>div>span{display:block;margin-top:7px;color:var(--color-text-secondary);font-size:14px}.book-insights-library-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--color-soft);border-radius:12px;color:var(--color-accent);background:var(--color-paper);font-size:13px;font-weight:750;text-decoration:none}.book-insights-library-link:hover{border-color:var(--color-accent);background:var(--color-soft)}.book-insights-tabs{display:flex;gap:4px;min-width:0;padding:0 28px;overflow-x:auto;border-bottom:1px solid var(--color-bg);scrollbar-width:thin}.book-insights-tabs button{position:relative;min-width:max-content;min-height:48px;padding:0 18px;border:0;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:14px;font-weight:720;cursor:pointer}.book-insights-tabs button:after{content:"";position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:3px 3px 0 0;background:transparent}.book-insights-tabs button:hover,.book-insights-tabs button.active{color:var(--color-accent)}.book-insights-tabs button.active:after{background:var(--color-accent)}.book-insights-panel{min-width:0;padding:26px 28px 30px;outline:none}.book-insights-panel:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--color-accent) 38%,transparent)}.book-insights-summary,.book-insights-pace,.book-insights-rhythm,.book-insights-history{display:grid;gap:24px;min-width:0}.book-insights-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.book-insights-summary-grid article{display:grid;gap:7px;min-width:0;padding:18px;border:1px solid var(--color-bg);border-radius:15px;background:linear-gradient(145deg,var(--color-paper),var(--color-paper))}.book-insights-summary-grid article>span{display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-size:12px;font-weight:680}.book-insights-summary-grid article>span svg{flex:0 0 auto;color:var(--color-accent)}.book-insights-summary-grid article strong{overflow-wrap:anywhere;color:var(--color-ink);font-size:21px;line-height:1.2}.book-insights-summary-grid article small{color:var(--color-text-secondary);font-size:12px}.book-insights-summary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.book-insights-summary-actions button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:12px 14px;border:1px solid var(--color-bg);border-radius:14px;color:var(--color-accent);background:var(--color-paper);text-align:left;cursor:pointer}.book-insights-summary-actions button:hover{border-color:var(--color-accent);background:var(--color-paper)}.book-insights-summary-actions button>svg:first-child{color:var(--color-accent)}.book-insights-summary-actions button>svg:last-child{color:var(--color-accent)}.book-insights-summary-actions button span{display:grid;gap:3px;min-width:0}.book-insights-summary-actions button strong{color:var(--color-ink);font-size:13px}.book-insights-summary-actions button small{overflow:hidden;color:var(--color-text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.book-insights-periods,.book-history-filters{display:flex;gap:6px;min-width:0;padding:4px;overflow-x:auto;border-radius:14px;background:var(--color-soft);scrollbar-width:thin}.book-insights-periods{width:fit-content;max-width:100%}.book-insights-periods button,.book-history-filters button{min-width:max-content;min-height:44px;padding:0 15px;border:1px solid transparent;border-radius:10px;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:13px;font-weight:720;cursor:pointer}.book-insights-periods button:hover,.book-history-filters button:hover{color:var(--color-accent);background:color-mix(in srgb,var(--color-paper) 68%,transparent)}.book-insights-periods button.active,.book-history-filters button.active{border-color:var(--color-bg);color:var(--color-accent);background:var(--color-paper);box-shadow:0 4px 12px color-mix(in srgb,var(--color-accent) 10%,transparent)}.book-pace-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 22px;border:1px solid var(--color-soft);border-left:5px solid var(--color-accent);border-radius:16px;background:var(--color-paper)}.book-pace-result.tone-ahead,.book-pace-result.tone-complete{border-left-color:var(--color-accent);background:var(--color-soft)}.book-pace-result.tone-behind{border-left-color:var(--color-peach);background:var(--color-paper)}.book-pace-result.tone-paused{border-left-color:var(--color-accent);background:var(--color-paper)}.book-pace-result span{color:var(--color-text-secondary);font-size:12px;font-weight:720}.book-pace-result h3{margin:4px 0 5px;color:var(--color-ink);font-size:21px}.book-pace-result p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.45}.book-pace-result>strong{color:var(--color-ink);font-size:clamp(21px,2.4vw,30px);white-space:nowrap}.book-insights-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.book-insights-metrics>div{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid var(--color-bg);border-radius:14px;background:var(--color-paper)}.book-insights-metrics dt,.book-insights-metrics dd{margin:0}.book-insights-metrics dt{color:var(--color-text-secondary);font-size:12px}.book-insights-metrics dd{overflow-wrap:anywhere;color:var(--color-ink);font-size:18px;font-weight:760}.book-pace-chart-card,.book-rhythm-grid-card,.book-pace-forecast{min-width:0;padding:20px;border:1px solid var(--color-bg);border-radius:16px;background:var(--color-paper)}.book-insights-subheading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.book-insights-subheading h3,.book-insights-subheading p{margin:0}.book-insights-subheading h3{color:var(--color-ink);font-size:17px}.book-insights-subheading p{margin-top:4px;color:var(--color-text-secondary);font-size:12px}.book-insights-subheading>span{flex:0 0 auto;padding:7px 10px;border-radius:9px;color:var(--color-accent);background:var(--color-soft);font-size:12px;font-weight:720}.book-pace-chart-scroll{min-width:0;padding-top:10px;overflow-x:auto}.book-pace-chart{--pace-columns: 14;position:relative;display:grid;grid-template-columns:repeat(var(--pace-columns),minmax(44px,1fr));align-items:end;gap:7px;width:100%;min-width:max(100%,calc(var(--pace-columns) * 52px));height:250px;padding:25px 8px 0;border-bottom:1px solid var(--color-line)}.book-pace-chart>button{position:relative;z-index:2;display:flex;height:100%;min-width:44px;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:0;border:0;color:var(--color-text-secondary);background:transparent;cursor:pointer}.book-pace-chart>button>span{width:min(78%,34px);min-height:2px;border-radius:7px 7px 2px 2px;background:var(--color-accent);transition:background .16s ease,transform .16s ease}.book-pace-chart>button:hover>span,.book-pace-chart>button.selected>span{background:var(--color-accent);transform:scaleX(1.08)}.book-pace-chart>button.selected small{color:var(--color-accent);font-weight:800}.book-pace-chart>button small{min-height:18px;font-size:12px}.book-pace-target-line{position:absolute;z-index:1;right:8px;left:8px;border-top:1px dashed var(--color-peach);pointer-events:none}.book-pace-target-line span{position:absolute;right:0;bottom:5px;padding:2px 6px;border-radius:6px;color:var(--color-peach);background:var(--color-soft);font-size:12px;font-weight:750}.book-pace-forecast{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:24px;align-items:center}.book-pace-forecast h3{margin:0 0 7px;color:var(--color-ink);font-size:17px}.book-pace-forecast>div>span{color:var(--color-peach);font-size:12px;font-weight:720}.book-pace-forecast dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.book-pace-forecast dl>div{display:grid;gap:5px;min-width:0;padding:13px;border-radius:12px;background:var(--color-soft)}.book-pace-forecast dt,.book-pace-forecast dd{margin:0}.book-pace-forecast dt{color:var(--color-text-secondary);font-size:12px}.book-pace-forecast dd{overflow-wrap:anywhere;color:var(--color-ink);font-size:14px;font-weight:740}.book-rhythm-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.35fr);gap:18px;align-items:start}.book-rhythm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.book-rhythm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:7px}.book-rhythm-grid button{display:grid;min-width:44px;min-height:44px;place-items:center;padding:0;border:1px solid var(--color-bg);border-radius:10px;color:var(--color-text-secondary);background:var(--color-bg);font:inherit;font-size:12px;font-weight:720;cursor:pointer}.book-rhythm-grid button.has-pages{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-soft)}.book-rhythm-grid button:hover,.book-rhythm-grid button.selected{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 23%,transparent)}.book-rhythm-scope-note{margin:0;padding:14px 16px;border-left:4px solid var(--color-accent);border-radius:10px;color:var(--color-text-secondary);background:var(--color-soft);font-size:13px;line-height:1.5}.book-rhythm-scope-note a{color:var(--color-accent);font-weight:750}.book-history-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.book-history-toolbar label{display:grid;gap:6px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.book-history-toolbar select{min-width:230px;min-height:44px;padding:0 36px 0 12px;border:1px solid var(--color-bg);border-radius:11px;color:var(--color-ink);background-color:var(--color-paper);font:inherit;font-size:13px}.book-history-count{display:grid;gap:3px;text-align:right}.book-history-count strong{color:var(--color-ink);font-size:14px}.book-history-count span{color:var(--color-text-secondary);font-size:12px}.book-history-filters{width:fit-content;max-width:100%}.book-history-timeline{display:grid;gap:22px}.book-history-timeline>section{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px}.book-history-timeline>section>h3{margin:13px 0 0;color:var(--color-text-secondary);font-size:13px;font-weight:760}.book-history-timeline>section>div{display:grid;gap:8px;min-width:0}.book-history-timeline article{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;min-width:0;padding:14px 15px 14px 22px;border:1px solid var(--color-bg);border-radius:13px;background:var(--color-paper)}.book-history-marker{position:absolute;top:15px;bottom:15px;left:8px;width:4px;border-radius:4px;background:var(--color-accent)}.book-history-timeline article.tone-positive .book-history-marker{background:var(--color-accent)}.book-history-timeline article.tone-correction .book-history-marker{background:var(--color-peach)}.book-history-timeline article.tone-status .book-history-marker{background:var(--color-accent)}.book-history-event-main,.book-history-event-meta{min-width:0}.book-history-event-main>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.book-history-event-main strong{color:var(--color-ink);font-size:13px}.book-history-event-main>div>span{padding:3px 7px;border-radius:7px;color:var(--color-accent);background:var(--color-soft);font-size:12px;font-weight:700}.book-history-event-main p{margin:5px 0 0;overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:12px;line-height:1.4}.book-history-event-meta{display:grid;align-content:center;justify-items:end;gap:4px;text-align:right}.book-history-event-meta strong{color:var(--color-accent);font-size:13px}.book-history-event-meta time{color:var(--color-text-secondary);font-size:12px}.book-history-empty{margin:0;padding:28px;border:1px dashed var(--color-line);border-radius:14px;color:var(--color-text-secondary);background:var(--color-paper);text-align:center}.book-history-more{justify-self:center;min-height:44px}@media(max-width:1199px){.legacy-detail-overview-layout{grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);gap:18px}.legacy-detail-card{grid-template-columns:130px minmax(0,1fr);gap:22px;padding:24px}.legacy-detail-cover{width:130px;height:176px}.book-insights-summary-grid,.book-insights-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.book-rhythm-layout{grid-template-columns:1fr}}@media(max-width:1100px){.legacy-detail-overview-layout{grid-template-columns:1fr}.legacy-detail-overview-layout>.legacy-detail-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.book-insights-summary-actions,.book-pace-forecast{grid-template-columns:1fr}.book-history-timeline>section{grid-template-columns:100px minmax(0,1fr)}}@media(max-width:760px){.legacy-detail-overview-layout>.legacy-detail-sidebar,.book-insights-summary-grid,.book-insights-metrics,.book-rhythm-metrics,.book-pace-forecast dl{grid-template-columns:1fr}.book-insights-heading{align-items:flex-start;flex-direction:column;padding:22px 20px 18px}.book-insights-tabs{padding:0 14px}.book-insights-panel{padding:20px}.book-pace-result{grid-template-columns:1fr;gap:14px}.book-insights-subheading,.book-history-toolbar{align-items:flex-start;flex-direction:column}.book-history-count{text-align:left}.book-history-toolbar label,.book-history-toolbar select{width:100%;min-width:0}.book-history-timeline>section{grid-template-columns:1fr;gap:8px}.book-history-timeline>section>h3{margin-top:0}.book-history-timeline article{grid-template-columns:1fr;gap:10px}.book-history-event-meta{grid-auto-flow:column;justify-content:space-between;justify-items:start;text-align:left}}.home-page>.page-header{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px;padding:26px 28px;border:1px solid color-mix(in srgb,var(--color-accent) 24%,transparent);border-radius:20px;background:linear-gradient(120deg,var(--color-paper) 25%,var(--color-soft));box-shadow:0 8px 28px color-mix(in srgb,var(--color-accent) 4%,transparent)}.home-date{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--color-soft);border-radius:12px;color:var(--color-accent);background:color-mix(in srgb,var(--color-paper) 80%,transparent);font-size:13px;font-weight:600}.home-date svg{flex-shrink:0;color:var(--color-accent)}.home-dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);align-items:start;gap:18px}.home-dashboard-main{display:grid;gap:18px;min-width:0}.home-dashboard-main .today-panel{margin-bottom:0}.today-panel-widget{border-color:var(--color-bg);border-radius:16px;box-shadow:0 12px 32px color-mix(in srgb,var(--color-ink) 5.5%,transparent)}.today-panel-widget:before{top:0;left:0;width:3px;height:100%;border-radius:0;background:var(--color-accent)}.today-panel-widget .today-panel-header{align-items:center;padding:17px 20px;border-bottom-color:var(--color-bg)}.today-panel-widget .today-panel-header h2,.today-panel-widget.today-empty-panel h2{font-size:20px}.today-widget-library-link{display:inline-flex;align-items:center;gap:5px;color:var(--color-accent);font-size:13px;font-weight:720}.today-widget-library-link:hover,.today-widget-library-link:focus-visible{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;outline:none}.today-widget-body{position:relative;z-index:1;padding:20px}.today-panel-widget .today-book-heading{grid-template-columns:52px minmax(0,1fr);gap:13px}.today-panel-widget .today-book-cover{width:52px;height:68px;border-radius:9px}.today-panel-widget .today-book-copy h3{margin-top:7px;font-size:clamp(18px,1.7vw,22px)}.today-panel-widget .today-focus-reason{margin-bottom:5px}.today-panel-widget .today-target-heading{margin-top:18px}.today-panel-widget .today-progress-track{height:8px}.today-widget-summary{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:11px;color:var(--color-text-secondary);font-size:12px}.today-widget-summary span{position:relative}.today-widget-summary span+span:before{position:absolute;left:-10px;color:var(--color-line);content:"·"}.today-widget-summary strong{color:var(--color-ink);font-size:13px}.today-panel-widget .today-skip-note{margin-top:12px;padding:9px 10px}.today-widget-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}.today-widget-actions .primary-button,.today-widget-actions .secondary-button{min-height:40px;padding:0 14px}.today-widget-actions>a{margin-left:auto;color:var(--color-accent);font-size:12px;font-weight:700}.today-widget-actions>a:hover,.today-widget-actions>a:focus-visible{text-decoration:underline;text-underline-offset:3px;outline:none}.today-widget-progress-form{margin-top:13px;padding:14px;border:1px solid var(--color-bg);border-radius:12px;background:var(--color-paper)}.today-panel-widget .today-feedback{min-height:0;margin:9px 0 0}.today-widget-alternatives{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--color-bg);background:var(--color-paper)}.today-widget-alternatives>span{color:var(--color-text-secondary);font-size:11px;font-weight:700}.today-widget-alternatives .today-alternatives{justify-content:flex-start}.today-widget-alternatives .today-alternative{flex:0 1 190px;min-height:42px;padding-block:5px}.today-widget-alternatives .today-alternatives-more{min-height:42px}.today-panel-widget.today-empty-panel{min-height:154px;margin-bottom:0;padding:20px}.today-panel-widget.today-panel-loading{min-height:280px;margin-bottom:0}.dashboard-sidebar{display:grid;gap:12px;min-width:0}.dashboard-sidebar-card{overflow:hidden;border:1px solid var(--color-bg);border-radius:14px;background:color-mix(in srgb,var(--color-paper) 94%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--color-ink) 4%,transparent)}.dashboard-sidebar-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid var(--color-bg)}.dashboard-sidebar-card-header>div{display:flex;align-items:center;gap:8px}.dashboard-sidebar-card-header h2{margin:0;color:var(--color-ink);font-size:14px}.dashboard-sidebar-card-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--color-accent);background:var(--color-soft)}.dashboard-sidebar-card-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;color:var(--color-text-secondary);background:var(--color-bg);font-size:11px;font-weight:750}.dashboard-sidebar-list{margin:0;padding:0;list-style:none}.dashboard-sidebar-list>li+li{border-top:1px solid var(--color-bg)}.dashboard-sidebar-link{position:relative;display:grid;min-width:0;padding:11px 14px;color:var(--color-ink);transition:background .16s ease}.dashboard-sidebar-link:hover,.dashboard-sidebar-link:focus-visible{background:var(--color-paper);outline:none}.dashboard-sidebar-link>svg{position:absolute;top:12px;right:12px;color:var(--color-accent)}.dashboard-sidebar-module{max-width:calc(100% - 24px);overflow:hidden;color:var(--color-accent);font-size:10px;font-weight:760;letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.dashboard-week-link{gap:7px}.dashboard-week-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard-week-metric{display:grid;min-width:0;gap:1px}.dashboard-week-metric strong{overflow:hidden;color:var(--color-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-week-metric small{overflow:hidden;color:var(--color-text-secondary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.dashboard-week-metric.tone-positive strong{color:var(--color-ink)}.dashboard-week-metric.tone-warning strong,.dashboard-week-metric.tone-danger strong{color:var(--color-peach)}.dashboard-week-comparison{color:var(--color-text-secondary);font-size:10px}.dashboard-attention-link,.dashboard-activity-link{gap:3px;padding-left:17px}.dashboard-attention-link:before,.dashboard-activity-link:before{position:absolute;top:12px;bottom:12px;left:8px;width:3px;border-radius:999px;background:var(--color-line);content:""}.dashboard-attention-list .severity-critical .dashboard-attention-link:before{background:var(--color-peach)}.dashboard-attention-list .severity-warning .dashboard-attention-link:before{background:var(--color-peach)}.dashboard-attention-list .severity-info .dashboard-attention-link:before{background:var(--color-accent)}.dashboard-activity-list .tone-positive .dashboard-activity-link:before{background:var(--color-accent)}.dashboard-activity-list .tone-warning .dashboard-activity-link:before{background:var(--color-peach)}.dashboard-attention-link strong,.dashboard-activity-link strong{overflow:hidden;padding-right:15px;color:var(--color-ink);font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.dashboard-attention-link>span:not(.dashboard-sidebar-module),.dashboard-activity-link>span:not(.dashboard-sidebar-module){display:-webkit-box;overflow:hidden;color:var(--color-text-secondary);font-size:10px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-activity-link time{margin-top:2px;color:var(--color-accent);font-size:9px}.dashboard-sidebar-state{margin:0;padding:16px 14px;color:var(--color-text-secondary);font-size:11px;line-height:1.45}.dashboard-sidebar-state.is-error,.dashboard-sidebar-note.is-error{color:var(--color-peach)}.dashboard-sidebar-note{margin:0;padding:8px 14px;border-top:1px solid var(--color-bg);color:var(--color-text-secondary);font-size:10px}.home-active-modules{margin:0 0 28px}.home-active-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-active-grid .module-card{grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;min-width:0;min-height:188px;padding:22px;border-color:color-mix(in srgb,var(--module-color) 40%,white);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--module-color) 25%,white),var(--color-paper));box-shadow:0 8px 24px color-mix(in srgb,var(--color-accent) 5%,transparent)}.home-active-grid .module-icon{width:48px;height:48px;border-radius:14px;color:var(--color-accent);background:color-mix(in srgb,var(--color-paper) 85%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--color-accent) 6%,transparent)}.home-active-grid .module-title{margin-bottom:5px;font-size:20px}.home-active-grid .module-description{max-width:30ch;font-size:13px;line-height:1.6}.home-module-arrow{position:absolute;top:22px;right:22px;color:var(--color-accent)}.home-active-grid .module-card:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.home-planned-modules{margin-top:18px;border:1px solid var(--color-bg);border-radius:14px;background:color-mix(in srgb,var(--color-paper) 74%,transparent)}.home-planned-modules>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px 16px;color:var(--color-ink);cursor:pointer;list-style:none}.home-planned-modules>summary::-webkit-details-marker{display:none}.home-planned-modules>summary>span{display:grid;gap:3px}.home-planned-modules>summary strong{font-size:14px}.home-planned-modules>summary small{color:var(--color-text-secondary);font-size:11px}.home-planned-modules>summary>svg{color:var(--color-text-secondary);transition:transform .18s ease}.home-planned-modules[open]>summary>svg{transform:rotate(180deg)}.home-planned-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:0 12px 12px}.home-planned-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid var(--color-bg);border-radius:11px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 84%,transparent)}.home-planned-card .module-icon{width:36px;height:36px;border-radius:9px;box-shadow:none;opacity:.76}.home-planned-card>div:last-child{display:grid;min-width:0;gap:2px}.home-planned-card strong,.home-planned-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-planned-card strong{color:var(--color-accent);font-size:12px}.home-planned-card span{color:var(--color-text-secondary);font-size:10px}@media(max-width:1280px){.home-dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media(max-width:900px){.dashboard-sidebar{grid-template-columns:1fr}.today-panel-widget .today-panel-header{display:flex}}@media(max-width:760px){.home-dashboard-layout{gap:12px}.today-panel-widget{margin-bottom:0;border-radius:14px}.today-panel-widget .today-panel-header{padding:15px 16px}.today-panel-widget .today-panel-header h2,.today-panel-widget.today-empty-panel h2{font-size:18px}.today-widget-body{padding:16px}.today-panel-widget .today-book-heading{grid-template-columns:48px minmax(0,1fr)}.today-panel-widget .today-book-cover{width:48px;height:62px}.today-widget-summary{gap:5px 14px}.today-widget-summary span+span:before{left:-8px}.today-widget-actions .primary-button{flex:1 1 170px}.today-widget-actions .secondary-button{flex:1 1 150px}.today-widget-actions>a{width:100%;margin-left:0}.today-widget-alternatives{display:block;padding:11px 16px 13px}.today-widget-alternatives>span{display:block;margin-bottom:7px}.today-widget-alternatives .today-alternatives{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,72%);overflow-x:auto;padding-bottom:3px}.today-widget-alternatives .today-alternative{width:auto;max-width:none}.today-panel-widget.today-empty-panel{grid-template-columns:auto minmax(0,1fr);padding:16px}.home-page>.page-header{gap:16px;padding:22px;margin-bottom:22px}.home-active-grid{gap:12px}.home-active-grid .module-card{padding:18px}.home-planned-grid{grid-template-columns:1fr}}@media(max-width:640px){.home-active-grid{grid-template-columns:1fr}.home-active-grid .module-card{grid-template-columns:auto minmax(0,1fr) auto;align-content:center;gap:14px;min-height:102px;padding:17px}.home-active-grid .module-title{font-size:18px;margin-bottom:3px}.home-module-arrow{position:static}.home-page>.page-header{padding:20px}.home-date{padding:0;border:0;background:transparent}}@media(max-width:420px){.today-widget-library-link{font-size:0}.today-widget-library-link svg{width:19px;height:19px}.today-widget-actions .primary-button,.today-widget-actions .secondary-button{flex-basis:100%;width:100%}.today-widget-progress-form .today-progress-input-row{grid-template-columns:1fr}}.sport-library{display:grid;gap:20px;min-width:0}.sport-library-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid var(--sport-border);border-radius:20px;background:radial-gradient(circle at 95% -25%,color-mix(in srgb,var(--color-accent) 23%,transparent),transparent 36%),color-mix(in srgb,var(--color-paper) 94%,transparent);box-shadow:0 18px 45px color-mix(in srgb,var(--color-accent) 7%,transparent)}.sport-library-heading>div:first-child{min-width:0}.sport-library-eyebrow{display:block;margin-bottom:5px;color:var(--color-accent);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.sport-library-heading h2{margin:0;color:var(--color-ink);font-size:clamp(24px,3vw,30px);line-height:1.15}.sport-library-heading p{max-width:660px;margin:8px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.55}.sport-library-heading-actions,.sport-library-empty-actions,.sport-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.sport-primary-button,.sport-secondary-button,.sport-inline-button,.sport-screenshot-select,.sport-screenshot-remove,.sport-card-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:11px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.sport-primary-button{border-color:var(--color-accent);color:var(--color-paper);background:var(--color-accent);box-shadow:0 9px 18px color-mix(in srgb,var(--color-accent) 18%,transparent)}.sport-secondary-button,.sport-inline-button{border-color:var(--color-line);color:var(--color-accent);background:var(--color-paper)}.sport-inline-button{justify-self:start;color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 38%,transparent);background:var(--color-paper)}.sport-primary-button:hover:not(:disabled),.sport-secondary-button:hover:not(:disabled),.sport-inline-button:hover:not(:disabled),.sport-card-action:hover:not(:disabled){transform:translateY(-1px)}.sport-primary-button:disabled,.sport-secondary-button:disabled,.sport-inline-button:disabled,.sport-screenshot-select:disabled,.sport-screenshot-remove:disabled,.sport-card-action:disabled{cursor:not-allowed;opacity:.58}.sport-primary-button:focus-visible,.sport-secondary-button:focus-visible,.sport-inline-button:focus-visible,.sport-screenshot-select:focus-visible,.sport-screenshot-remove:focus-visible,.sport-card-action:focus-visible,.sport-library-mode button:focus-visible,.sport-library-filters button:focus-visible,.sport-dialog-close:focus-visible,.sport-field input:focus-visible,.sport-field select:focus-visible,.sport-rhythm-toggle input:focus-visible,.sport-quick-color:focus-visible,.sport-type-button:focus-visible,.sport-type-color:focus-visible,.sport-type-form__input:focus-visible,.sport-type-dialog__close:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 35%,transparent);outline-offset:2px}.sport-library-toolbar{display:grid;gap:12px}.sport-library-mode{display:inline-flex;justify-self:start;gap:5px;padding:5px;border:1px solid var(--color-bg);border-radius:13px;background:var(--color-bg)}.sport-library-mode button,.sport-library-filters button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border:1px solid transparent;border-radius:9px;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:13px;font-weight:750;white-space:nowrap;cursor:pointer}.sport-library-mode button span{min-width:23px;padding:2px 7px;border-radius:999px;color:var(--color-text-secondary);background:var(--color-bg);font-size:11px}.sport-library-mode button.is-active,.sport-library-filters button.is-active{border-color:var(--color-line);color:var(--color-accent);background:var(--color-paper);box-shadow:0 6px 14px color-mix(in srgb,var(--color-accent) 9%,transparent)}.sport-library-mode button.is-active span{color:var(--color-accent);background:var(--color-soft)}.sport-library-filters{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin}.sport-library-filters button{flex:0 0 auto;min-height:40px;border-color:var(--color-bg);border-radius:999px;background:color-mix(in srgb,var(--color-paper) 82%,transparent)}.sport-type-dot{display:inline-block;flex:0 0 auto;width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-paper) 85%,transparent),0 0 0 3px color-mix(in srgb,var(--color-muted) 10%,transparent)}.sport-library-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--color-line);border-radius:12px;color:var(--color-peach);background:var(--color-paper);font-size:13px}.sport-library-alert button{min-height:36px;padding:0 10px;border:0;border-radius:8px;color:var(--color-peach);background:color-mix(in srgb,var(--color-peach) 16%,transparent);font:inherit;font-weight:750;cursor:pointer}.sport-workout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sport-workout-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid var(--color-bg);border-radius:18px;background:color-mix(in srgb,var(--color-paper) 96%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--color-accent) 7.5%,transparent)}.sport-workout-card.is-archived{background:color-mix(in srgb,var(--color-paper) 96%,transparent)}.sport-workout-card-image{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--color-bg);background:var(--color-bg)}.sport-workout-card-image img{width:100%;height:100%;display:block;object-fit:cover}.sport-workout-card-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--workout-type-color);background:radial-gradient(circle at 82% 16%,color-mix(in srgb,var(--color-paper) 72%,transparent),transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--workout-type-color) 17%,white),var(--color-paper))}.sport-workout-card-status{position:absolute;top:10px;right:10px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--color-paper) 65%,transparent);border-radius:999px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 90%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--color-ink) 10%,transparent);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.sport-workout-card-body{display:grid;gap:10px;padding:17px 17px 14px}.sport-workout-card h3{margin:0;overflow-wrap:anywhere;color:var(--color-ink);font-size:17px;line-height:1.3}.sport-workout-card-type{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-text-secondary);font-size:12px;font-weight:700}.sport-workout-card-type>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-workout-card-meta{display:flex;flex-wrap:wrap;gap:7px}.sport-workout-card-meta span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border-radius:8px;color:var(--color-text-secondary);background:var(--color-bg);font-size:11px;font-weight:700}.sport-workout-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding:0 12px 12px}.sport-workout-card.is-archived .sport-workout-card-actions{grid-template-columns:1fr}.sport-card-action{min-width:0;padding-inline:9px;border-color:var(--color-bg);color:var(--color-text-secondary);background:var(--color-paper);font-size:12px}.sport-card-action-primary{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent);background:var(--color-soft)}.sport-library-empty,.sport-library-state{display:grid;min-height:285px;place-items:center;align-content:center;padding:34px;border:1px dashed color-mix(in srgb,var(--color-accent) 42%,transparent);border-radius:20px;text-align:center;background:color-mix(in srgb,var(--color-paper) 76%,transparent)}.sport-library-empty-icon,.sport-library-state-icon{display:grid;width:58px;height:58px;margin-bottom:14px;place-items:center;border-radius:17px;color:var(--color-accent);background:var(--color-soft)}.sport-library-empty h3,.sport-library-state h2{margin:0;color:var(--color-ink);font-size:21px}.sport-library-empty p,.sport-library-state p{max-width:560px;margin:8px 0 18px;color:var(--color-text-secondary);font-size:13px;line-height:1.6}.sport-library-state{grid-template-columns:auto minmax(0,560px);text-align:left}.sport-library-state-icon{margin:0 18px 0 0}.sport-library-state .sport-primary-button{margin-top:2px}.sport-library-heading-skeleton{min-height:126px}.sport-library-heading-skeleton>div{display:grid;gap:11px;width:min(520px,75vw)}.sport-skeleton-line,.sport-workout-skeleton span,.sport-workout-skeleton i{display:block;border-radius:8px;background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-paper) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:sport-skeleton 1.4s ease-in-out infinite}.sport-skeleton-line.is-short{width:180px;height:28px}.sport-skeleton-line.is-long{width:420px;max-width:100%;height:14px}.sport-workout-skeleton{display:grid;gap:12px;padding-bottom:17px;overflow:hidden;border:1px solid var(--color-bg);border-radius:18px;background:var(--color-paper)}.sport-workout-skeleton span{aspect-ratio:16 / 9;border-radius:0}.sport-workout-skeleton i{width:calc(100% - 34px);height:14px;margin-inline:17px}.sport-workout-skeleton i:last-child{width:55%}@keyframes sport-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.sport-dialog-backdrop,.sport-type-dialog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sport-dialog{display:flex;width:min(850px,100%);max-height:calc(100vh - 36px);overflow:hidden;flex-direction:column;border:1px solid color-mix(in srgb,var(--color-accent) 30%,transparent);border-radius:20px;background:var(--color-paper);box-shadow:0 24px 70px color-mix(in srgb,var(--color-ink) 24%,transparent)}.sport-dialog-header,.sport-type-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 25px 20px;border-bottom:1px solid var(--color-bg);background:radial-gradient(circle at 94% -40%,color-mix(in srgb,var(--color-accent) 30%,transparent),transparent 38%),var(--color-paper)}.sport-dialog-header>div,.sport-type-dialog__header>div{min-width:0}.sport-dialog-header h2,.sport-type-dialog__header h2{margin:0;color:var(--color-ink);font-size:23px;line-height:1.2}.sport-dialog-header p,.sport-type-dialog__header>div>p:last-child{max-width:650px;margin:7px 0 0;color:var(--color-text-secondary);font-size:12px;line-height:1.55}.sport-dialog-close,.sport-type-dialog__close{display:grid;flex:0 0 auto;width:44px;height:44px;padding:0;place-items:center;border:1px solid var(--color-bg);border-radius:11px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-paper) 88%,transparent);cursor:pointer}.sport-template-form{overflow-y:auto;padding:22px 25px 24px}.sport-template-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.sport-field{display:grid;min-width:0;gap:7px;color:var(--color-ink);font-size:12px;font-weight:750}.sport-field-wide{grid-column:1 / -1}.sport-field>input,.sport-field>select,.sport-duration-input{width:100%;min-height:46px;border:1px solid var(--color-line);border-radius:11px;color:var(--color-ink);background:var(--color-paper);font:inherit;font-size:14px;font-weight:550}.sport-field>input,.sport-field>select{padding:0 13px}.sport-field>select{cursor:pointer}.sport-field>small{justify-self:end;margin-top:-2px;color:var(--color-accent);font-size:10px;font-weight:650}.sport-duration-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden}.sport-duration-input input{min-width:0;height:44px;padding:0 13px;border:0;outline:0;color:var(--color-ink);background:transparent;font:inherit;font-size:14px;font-weight:550}.sport-duration-input>span{padding:0 13px;color:var(--color-text-secondary);font-size:12px}.sport-rhythm-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px;border:1px solid var(--color-bg);border-radius:13px;background:var(--color-paper);cursor:pointer}.sport-rhythm-toggle input{width:21px;height:21px;margin:1px 0 0;accent-color:var(--color-accent)}.sport-rhythm-toggle>span{display:grid;gap:3px}.sport-rhythm-toggle strong{color:var(--color-ink);font-size:13px}.sport-rhythm-toggle small{color:var(--color-text-secondary);font-size:11px;font-weight:500;line-height:1.45}.sport-screenshot-field{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-bg)}.sport-screenshot-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:11px}.sport-screenshot-heading h3{margin:0;color:var(--color-ink);font-size:13px}.sport-screenshot-heading h3 span{color:var(--color-accent);font-size:10px;font-weight:650}.sport-screenshot-heading p{margin:4px 0 0;color:var(--color-text-secondary);font-size:11px}.sport-screenshot-remove{min-height:38px;padding-inline:10px;border-color:var(--color-bg);color:var(--color-peach);background:var(--color-paper);font-size:11px}.sport-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.sport-screenshot-dropzone{position:relative;display:grid;min-height:225px;overflow:hidden;place-items:center;border:1px dashed color-mix(in srgb,var(--color-accent) 58%,transparent);border-radius:15px;background:var(--color-paper)}.sport-screenshot-dropzone.has-image{aspect-ratio:16 / 9;min-height:0;border-style:solid;background:var(--color-bg)}.sport-screenshot-dropzone img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.sport-screenshot-empty{display:grid;place-items:center;color:var(--color-accent);text-align:center}.sport-screenshot-empty strong{margin-top:10px;color:var(--color-accent);font-size:13px}.sport-screenshot-empty span{margin-top:3px;color:var(--color-text-secondary);font-size:11px}.sport-screenshot-select{position:absolute;right:12px;bottom:12px;min-height:40px;border-color:color-mix(in srgb,var(--color-paper) 75%,transparent);color:var(--color-accent);background:color-mix(in srgb,var(--color-paper) 93%,transparent);box-shadow:0 7px 20px color-mix(in srgb,var(--color-ink) 14%,transparent);font-size:11px}.sport-selected-file,.sport-form-error,.sport-template-form-message{margin:8px 0 0;font-size:11px}.sport-selected-file{overflow:hidden;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap}.sport-form-error,.sport-template-form-message{color:var(--color-peach)}.sport-template-form-message{min-height:17px;margin-top:12px;text-align:right}.sport-dialog-actions{padding-top:15px;border-top:1px solid var(--color-bg)}.sport-quick-type{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:16px;border:1px solid color-mix(in srgb,var(--color-accent) 35%,transparent);border-radius:14px;background:var(--color-paper)}.sport-quick-type-heading{display:flex;grid-column:1 / -1;align-items:center;gap:10px}.sport-quick-type-icon{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--color-accent);background:var(--color-soft)}.sport-quick-type-heading strong{color:var(--color-ink);font-size:13px}.sport-quick-type-heading p{margin:3px 0 0;color:var(--color-text-secondary);font-size:11px}.sport-quick-type-colors{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:7px}.sport-quick-color{display:grid;width:44px;height:44px;padding:0;place-items:center;border:3px solid var(--color-paper);border-radius:50%;color:var(--color-paper);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-muted) 18%,transparent);cursor:pointer}.sport-quick-color.is-selected{box-shadow:0 0 0 2px var(--color-accent),0 5px 12px color-mix(in srgb,var(--color-ink) 12%,transparent)}.sport-spinner,.sport-type-spinner{animation:sport-spin .85s linear infinite}@keyframes sport-spin{to{transform:rotate(360deg)}}.sport-type-dialog-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--color-ink) 40%,transparent)}.sport-type-dialog{display:flex;width:min(830px,100%);max-height:calc(100vh - 36px);overflow:hidden;flex-direction:column;border:1px solid color-mix(in srgb,var(--color-accent) 30%,transparent);border-radius:20px;background:var(--color-paper);box-shadow:0 24px 70px color-mix(in srgb,var(--color-ink) 24%,transparent)}.sport-type-dialog__eyebrow{margin:0 0 5px!important;color:var(--color-accent)!important;font-size:10px!important;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sport-type-dialog__close:disabled{cursor:not-allowed;opacity:.55}.sport-type-dialog__body{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(330px,1.18fr);gap:15px 18px;overflow-y:auto;padding:20px 22px 24px}.sport-type-dialog__status{display:flex;min-height:190px;align-items:center;justify-content:center;gap:10px;padding:28px;color:var(--color-text-secondary);font-size:13px}.sport-type-dialog__status--error{flex-direction:column;color:var(--color-peach);text-align:center}.sport-type-form{display:grid;grid-row:1 / span 4;align-self:start;gap:9px;padding:17px;border:1px solid var(--color-bg);border-radius:15px;background:var(--color-paper)}.sport-type-form__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:3px}.sport-type-form__kicker{color:var(--color-accent);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.sport-type-form__heading h3{margin:3px 0 0;color:var(--color-ink);font-size:16px;line-height:1.3}.sport-type-form__label{color:var(--color-accent);font-size:11px;font-weight:750}.sport-type-form__input{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--color-line);border-radius:10px;color:var(--color-ink);background:var(--color-paper);font:inherit;font-size:13px}.sport-type-form__counter{justify-self:end;color:var(--color-accent);font-size:9px}.sport-type-form__palette{min-width:0;margin:3px 0 4px;padding:0;border:0}.sport-type-form__palette legend{margin-bottom:8px;color:var(--color-accent);font-size:11px;font-weight:750}.sport-type-form__colors{display:grid;grid-template-columns:repeat(4,44px);gap:8px}.sport-type-color{display:grid;width:44px;height:44px;padding:0;place-items:center;border:3px solid var(--color-paper);border-radius:50%;color:var(--color-paper);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-muted) 18%,transparent);cursor:pointer}.sport-type-color--selected{box-shadow:0 0 0 2px var(--color-accent),0 5px 12px color-mix(in srgb,var(--color-ink) 12%,transparent)}.sport-type-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid var(--color-line);border-radius:10px;color:var(--color-accent);background:var(--color-paper);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.sport-type-button:disabled{cursor:not-allowed;opacity:.55}.sport-type-button--primary{color:var(--color-paper);border-color:var(--color-accent);background:var(--color-accent)}.sport-type-button--ghost{min-height:34px;padding-inline:9px;border-color:transparent;color:var(--color-text-secondary);background:transparent}.sport-type-button--icon{width:44px;min-height:44px;padding:0}.sport-type-button--archive{color:var(--color-peach)}.sport-type-form__submit{width:100%;margin-top:2px}.sport-type-error{min-height:18px;color:var(--color-peach);font-size:11px;line-height:1.45}.sport-type-section{min-width:0}.sport-type-section__heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sport-type-section__heading h3{margin:0;color:var(--color-ink);font-size:13px}.sport-type-section__heading>span{min-width:24px;padding:3px 7px;border-radius:999px;color:var(--color-text-secondary);background:var(--color-bg);text-align:center;font-size:9px;font-weight:800}.sport-type-section--archive{padding-top:13px;border-top:1px solid var(--color-bg)}.sport-type-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.sport-type-item{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--color-bg);border-radius:12px;background:var(--color-paper)}.sport-type-item--archived{background:var(--color-paper)}.sport-type-item__identity{display:flex;min-width:0;align-items:center;gap:10px}.sport-type-item__identity .sport-type-dot{width:15px;height:15px}.sport-type-item__identity>div{display:grid;min-width:0;gap:2px}.sport-type-item__identity strong,.sport-type-item__identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-type-item__identity strong{color:var(--color-ink);font-size:12px}.sport-type-item__identity span{color:var(--color-text-secondary);font-size:9px}.sport-type-item__actions{display:flex;flex:0 0 auto;gap:5px}.sport-type-empty{margin:0;padding:14px;border:1px dashed var(--color-line);border-radius:11px;color:var(--color-text-secondary);text-align:center;font-size:10px}@media(max-width:1120px){.sport-workout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.sport-library-heading{flex-direction:column}.sport-library-heading-actions{width:100%;justify-content:flex-start}.sport-type-dialog__body{grid-template-columns:1fr}.sport-type-form{grid-row:auto}.sport-type-form__colors{display:flex;flex-wrap:wrap}}@media(max-width:700px){.sport-library-heading{padding:21px;border-radius:17px}.sport-library-heading-actions>button{flex:1 1 190px}.sport-workout-grid,.sport-template-form-fields{grid-template-columns:1fr}.sport-field-wide{grid-column:auto}.sport-dialog,.sport-type-dialog{max-height:calc(100vh - 18px);border-radius:16px}.sport-dialog-backdrop,.sport-type-dialog-backdrop{padding:9px}.sport-dialog-header,.sport-type-dialog__header,.sport-template-form,.sport-type-dialog__body{padding:18px}.sport-library-state{grid-template-columns:1fr;text-align:center}.sport-library-state-icon{margin:0 0 14px}.sport-quick-type{grid-template-columns:1fr}.sport-quick-type-heading,.sport-quick-type-colors{grid-column:auto}}@media(max-width:480px){.sport-library-heading-actions,.sport-library-empty-actions,.sport-dialog-actions{display:grid;width:100%;grid-template-columns:1fr}.sport-library-mode{width:100%}.sport-library-mode button{flex:1}.sport-workout-card-actions{grid-template-columns:1fr}.sport-type-item{align-items:flex-start;flex-direction:column}.sport-type-item__actions,.sport-type-item>.sport-type-button--secondary{align-self:stretch}.sport-type-item>.sport-type-button--secondary{width:100%}}@media(prefers-reduced-motion:reduce){.sport-primary-button,.sport-secondary-button,.sport-inline-button,.sport-card-action,.sport-skeleton-line,.sport-workout-skeleton span,.sport-workout-skeleton i{transition:none;animation:none}}.sport-calendar-page{display:grid;min-width:0;gap:18px}.sport-calendar-page-heading{padding:24px 27px;border:1px solid var(--sport-border);border-radius:19px;background:radial-gradient(circle at 96% -40%,color-mix(in srgb,var(--color-accent) 25%,transparent),transparent 38%),color-mix(in srgb,var(--color-paper) 94%,transparent);box-shadow:0 16px 40px color-mix(in srgb,var(--color-accent) 6.5%,transparent)}.sport-calendar-page-heading>div>span{display:block;margin-bottom:5px;color:var(--color-accent);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.sport-calendar-page-heading h2{margin:0;color:var(--color-ink);font-size:clamp(24px,3vw,29px);line-height:1.15}.sport-calendar-page-heading p{max-width:700px;margin:8px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.55}.sport-calendar-load-error{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--color-line);border-radius:13px;color:var(--color-peach);background:var(--color-paper)}.sport-calendar-load-error>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--color-soft)}.sport-calendar-load-error strong{color:var(--color-peach);font-size:13px}.sport-calendar-load-error p{margin:3px 0 0;font-size:11px}.sport-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.34fr);align-items:start;gap:16px;min-width:0}.sport-calendar-grid,.sport-day-panel{min-width:0;border:1px solid var(--color-bg);border-radius:19px;background:color-mix(in srgb,var(--color-paper) 96%,transparent);box-shadow:0 17px 42px color-mix(in srgb,var(--color-accent) 7%,transparent)}.sport-calendar-grid{position:relative;overflow:hidden;container-type:inline-size}.sport-calendar-grid[aria-busy=true]:after{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-accent),var(--color-accent),transparent);background-size:200% 100%;animation:sport-calendar-loading 1.15s linear infinite;content:"";z-index:2}@keyframes sport-calendar-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sport-calendar-layout.is-loading .sport-calendar-day-button__sessions{opacity:.28}.sport-calendar-toolbar{display:grid;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:13px;padding:18px 19px;border-bottom:1px solid var(--color-bg)}.sport-calendar-toolbar__title>span{display:block;margin-bottom:3px;color:var(--color-accent);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.sport-calendar-toolbar__title h2{margin:0;color:var(--color-ink);font-size:20px;line-height:1.2}.sport-calendar-toolbar__navigation{display:flex;align-items:center;gap:5px}.sport-calendar-toolbar__icon-button,.sport-calendar-toolbar__today-button,.sport-calendar-toolbar__add-button,.sport-day-panel__add-button,.sport-day-panel__empty button,.sport-day-session-card__actions button,.sport-plan-create-button,.sport-plan-another-button,.sport-plan-no-results button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--color-line);border-radius:10px;color:var(--color-accent);background:var(--color-paper);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.sport-calendar-toolbar__icon-button{width:44px;padding:0}.sport-calendar-toolbar__today-button{padding:0 12px}.sport-calendar-toolbar__add-button,.sport-day-panel__add-button,.sport-day-panel__empty button{padding:0 14px;color:var(--color-paper);border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 8px 17px color-mix(in srgb,var(--color-accent) 16%,transparent)}.sport-calendar-toolbar button:disabled,.sport-day-panel button:disabled,.sport-day-session-card__actions button:disabled,.sport-plan-form button:disabled{cursor:not-allowed;opacity:.56}.sport-calendar-toolbar button:focus-visible,.sport-calendar-day-button:focus-visible,.sport-day-panel button:focus-visible,.sport-day-session-card__actions button:focus-visible,.sport-plan-form button:focus-visible,.sport-plan-form input:focus-visible,.sport-plan-form select:focus-visible,.sport-reschedule-form input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 35%,transparent);outline-offset:2px}.sport-calendar-table-scroll{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.sport-calendar-table{width:100%;min-width:0;border-spacing:0;table-layout:fixed}.sport-calendar-table th{height:37px;padding:0 8px;border-bottom:1px solid var(--color-bg);color:var(--color-text-secondary);background:var(--color-paper);font-size:10px;font-weight:800;letter-spacing:.04em;text-align:right;text-transform:uppercase}.sport-calendar-table th.is-weekend{color:var(--color-peach);background:var(--color-paper)}.sport-calendar-table td{position:relative;padding:0;border-right:1px solid var(--color-bg);border-bottom:1px solid var(--color-bg);background:var(--color-paper);vertical-align:top}.sport-calendar-table td:last-child{border-right:0}.sport-calendar-table tbody tr:last-child td{border-bottom:0}.sport-calendar-table td.is-weekend,.sport-calendar-table td.is-outside-month{background:var(--color-paper)}.sport-calendar-day-button{position:relative;display:flex;width:100%;min-height:122px;padding:8px;overflow:hidden;flex-direction:column;align-items:stretch;gap:7px;border:0;color:var(--color-ink);background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.sport-calendar-day-button:hover{background:color-mix(in srgb,var(--color-soft) 62%,transparent)}.sport-calendar-table td.is-selected .sport-calendar-day-button{background:var(--color-soft);box-shadow:inset 0 0 0 2px var(--color-accent)}.sport-calendar-table td.is-outside-month .sport-calendar-day-button{color:var(--color-text-secondary)}.sport-calendar-day-button__number{display:grid;align-self:flex-end;width:29px;height:29px;place-items:center;border-radius:9px;color:inherit;font-size:11px;font-weight:850}.sport-calendar-table td.is-today .sport-calendar-day-button__number{color:var(--color-paper);background:var(--color-accent);box-shadow:0 4px 10px color-mix(in srgb,var(--color-accent) 20%,transparent)}.sport-calendar-day-button__sessions{display:grid;gap:4px;min-width:0;transition:opacity .15s ease}.sport-calendar-snippet{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding:5px 6px;border:1px solid color-mix(in srgb,var(--workout-type-color) 24%,var(--color-bg));border-radius:7px;color:var(--color-accent);background:color-mix(in srgb,var(--workout-type-color) 9%,white);font-size:8px;line-height:1.2}.sport-calendar-snippet__dot{width:7px;height:7px;border-radius:50%;background:var(--workout-type-color)}.sport-calendar-snippet__title{min-width:0;overflow:hidden;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.sport-calendar-snippet__duration{color:var(--color-text-secondary);font-weight:750;white-space:nowrap}.sport-calendar-snippet__status{grid-column:2 / -1;overflow:hidden;color:var(--color-text-secondary);font-size:7px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sport-calendar-snippet.is-skipped{border-style:dashed;opacity:.7;background:var(--color-bg)}.sport-calendar-snippet.is-skipped .sport-calendar-snippet__title{text-decoration:line-through}.sport-calendar-snippet.is-completed{border-color:color-mix(in srgb,var(--color-accent) 36%,transparent);background:var(--color-soft)}.sport-calendar-day-button__more{padding-left:4px;color:var(--color-text-secondary);font-size:8px;font-weight:800}.sport-day-panel{position:sticky;top:18px;overflow:hidden}.sport-day-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--color-bg);background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--color-accent) 20%,transparent),transparent 38%),var(--color-paper)}.sport-day-panel__header>div{min-width:0}.sport-day-panel__header>div>span{display:block;margin-bottom:4px;color:var(--color-accent);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.sport-day-panel__header h2{margin:0;color:var(--color-ink);font-size:16px;line-height:1.35}.sport-day-panel__add-button{flex:0 0 auto;min-height:42px;padding-inline:11px;font-size:10px}.sport-day-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px;border-bottom:1px solid var(--color-bg);background:var(--color-paper)}.sport-day-summary>span{min-width:0;padding:8px;border:1px solid var(--color-bg);border-radius:9px;color:var(--color-text-secondary);background:var(--color-paper);font-size:8px;line-height:1.35}.sport-day-summary strong{color:var(--color-accent);font-size:12px}.sport-day-session-list{display:grid;gap:9px;max-height:min(690px,calc(100vh - 300px));margin:0;padding:12px;overflow-y:auto;list-style:none;scrollbar-width:thin}.sport-day-session-card{overflow:hidden;border:1px solid var(--color-bg);border-left:4px solid var(--workout-type-color);border-radius:12px;background:var(--color-paper)}.sport-day-session-card.is-skipped{border-left-style:dashed;background:var(--color-paper)}.sport-day-session-card.is-completed{background:var(--color-paper)}.sport-day-session-card__main{padding:12px}.sport-day-session-card__heading{display:grid;gap:7px}.sport-day-session-card__heading h3{margin:0;overflow-wrap:anywhere;color:var(--color-ink);font-size:13px;line-height:1.35}.sport-day-session-card__status{display:inline-flex;justify-self:start;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;color:var(--color-accent);background:var(--color-soft);font-size:8px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.sport-day-session-card__status.is-skipped{color:var(--color-text-secondary);background:var(--color-bg)}.sport-day-session-card__status.is-completed{color:var(--color-accent);background:var(--color-soft)}.sport-day-session-card__meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:9px;color:var(--color-text-secondary);font-size:9px}.sport-day-session-card__meta>span{display:inline-flex;align-items:center;gap:5px}.sport-day-session-card__type-dot{width:9px;height:9px;border-radius:50%}.sport-day-session-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 9px 9px}.sport-day-session-card.is-skipped .sport-day-session-card__actions{grid-template-columns:1fr}.sport-day-session-card__actions button{min-width:0;min-height:40px;padding:0 8px;color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 32%,transparent);background:var(--color-soft);font-size:9px}.sport-day-session-card__actions button.is-secondary{color:var(--color-text-secondary);border-color:var(--color-line);background:var(--color-paper)}.sport-day-panel__empty{display:grid;min-height:270px;place-items:center;align-content:center;padding:25px 20px;color:var(--color-text-secondary);text-align:center}.sport-day-panel__empty h3{margin:11px 0 0;color:var(--color-ink);font-size:14px}.sport-day-panel__empty p{max-width:290px;margin:7px 0 15px;color:var(--color-text-secondary);font-size:10px;line-height:1.5}.sport-day-panel__empty button{font-size:10px}.sport-plan-dialog{width:min(940px,100%)}.sport-plan-form,.sport-reschedule-form{overflow-y:auto;padding:21px 24px 23px}.sport-plan-picker{min-width:0}.sport-plan-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.sport-plan-picker-heading h3{margin:0;color:var(--color-ink);font-size:14px}.sport-plan-picker-heading p{margin:4px 0 0;color:var(--color-text-secondary);font-size:10px}.sport-plan-create-button,.sport-plan-another-button{flex:0 0 auto;padding:0 12px;color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 34%,transparent);background:var(--color-soft)}.sport-plan-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.3fr);gap:9px;margin-bottom:10px}.sport-plan-search,.sport-plan-type-filter,.sport-plan-input-shell,.sport-reschedule-input-shell{display:grid;min-height:45px;align-items:center;border:1px solid var(--color-line);border-radius:10px;color:var(--color-text-secondary);background:var(--color-paper)}.sport-plan-search{grid-template-columns:auto minmax(0,1fr);gap:8px;padding-left:12px}.sport-plan-search input,.sport-plan-type-filter select,.sport-plan-input-shell input,.sport-reschedule-input-shell input{min-width:0;height:43px;padding:0 11px;border:0;outline:0;color:var(--color-ink);background:transparent;font:inherit;font-size:12px}.sport-plan-type-filter select{width:100%;cursor:pointer}.sport-plan-template-fieldset{min-width:0;margin:0;padding:0;border:0}.sport-plan-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:285px;overflow-y:auto;padding:2px;scrollbar-width:thin}.sport-plan-template{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:62px;padding:10px;border:1px solid var(--color-bg);border-radius:11px;background:var(--color-paper);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.sport-plan-template:hover{border-color:color-mix(in srgb,var(--color-accent) 55%,transparent);background:var(--color-paper)}.sport-plan-template.is-selected{border-color:var(--color-accent);background:var(--color-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 18%,transparent)}.sport-plan-template:focus-within{outline:3px solid color-mix(in srgb,var(--color-accent) 30%,transparent);outline-offset:2px}.sport-plan-template>input{position:absolute;width:1px;height:1px;opacity:0}.sport-plan-type-dot{width:13px;height:13px;border:3px solid var(--color-paper);border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-muted) 16%,transparent)}.sport-plan-template-copy{display:grid;min-width:0;gap:3px}.sport-plan-template-copy strong,.sport-plan-template-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-plan-template-copy strong{color:var(--color-ink);font-size:11px}.sport-plan-template-copy>span{color:var(--color-text-secondary);font-size:9px}.sport-plan-template-duration{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:9px;font-weight:700;white-space:nowrap}.sport-plan-no-results{display:flex;min-height:90px;align-items:center;justify-content:center;gap:10px;color:var(--color-text-secondary);text-align:center;font-size:10px}.sport-plan-no-results button{min-height:38px;padding:0 10px;color:var(--color-accent);border-color:transparent;background:var(--color-bg)}.sport-plan-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px;padding-top:17px;border-top:1px solid var(--color-bg)}.sport-plan-field,.sport-reschedule-field{display:grid;gap:7px;color:var(--color-accent);font-size:10px;font-weight:750}.sport-plan-input-shell,.sport-reschedule-input-shell{grid-template-columns:auto minmax(0,1fr) auto;gap:2px;padding-left:11px}.sport-plan-input-shell>span,.sport-reschedule-input-shell>span{padding-right:12px;color:var(--color-text-secondary);font-size:10px;font-weight:650}.sport-plan-notices{min-height:35px;margin-top:9px}.sport-plan-duplicate,.sport-plan-error,.sport-reschedule-error,.sport-reschedule-message>p{margin:0;padding:8px 10px;border-radius:9px;font-size:10px;line-height:1.45}.sport-plan-duplicate{color:var(--color-peach);background:var(--color-soft)}.sport-plan-error,.sport-reschedule-error{color:var(--color-peach);background:var(--color-paper)}.sport-plan-actions{align-items:center}.sport-plan-another-button{margin-left:auto}.sport-plan-state{display:grid;min-height:270px;place-items:center;align-content:center;gap:8px;color:var(--color-text-secondary);text-align:center}.sport-plan-state strong{color:var(--color-ink);font-size:15px}.sport-plan-state p{max-width:460px;margin:0;color:var(--color-text-secondary);font-size:11px;line-height:1.5}.sport-plan-state-icon,.sport-reschedule-workout-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;color:var(--color-accent);background:var(--color-soft)}.sport-plan-state .sport-primary-button{margin-top:7px}.sport-reschedule-dialog{width:min(610px,100%)}.sport-reschedule-workout{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--color-bg);border-radius:12px;background:var(--color-paper)}.sport-reschedule-workout-icon{width:44px;height:44px;border-radius:12px}.sport-reschedule-workout>div{display:grid;min-width:0;gap:2px}.sport-reschedule-workout>div>span{color:var(--color-text-secondary);font-size:9px;font-weight:750;text-transform:uppercase}.sport-reschedule-workout strong{overflow:hidden;color:var(--color-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.sport-reschedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}.sport-reschedule-message{min-height:44px;margin-top:10px;color:var(--color-text-secondary)}.sport-reschedule-message>p:not(.sport-reschedule-error){background:var(--color-bg)}.sport-page .confirm-dialog-actions button{min-height:44px}@media(max-width:1500px){.sport-calendar-layout{grid-template-columns:1fr}.sport-day-panel{position:static}.sport-day-session-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}@container (max-width: 700px){.sport-calendar-toolbar{grid-template-columns:minmax(0,1fr) auto}.sport-calendar-toolbar__add-button{grid-column:1 / -1;justify-self:stretch}.sport-calendar-day-button{min-height:92px;padding:6px}.sport-calendar-snippet{grid-template-columns:7px minmax(0,1fr);padding:4px}.sport-calendar-snippet__duration,.sport-calendar-snippet__status{display:none}}@container (max-width: 500px){.sport-calendar-toolbar{grid-template-columns:minmax(0,1fr);padding:16px}.sport-calendar-toolbar__navigation{justify-content:space-between}.sport-calendar-day-button{min-height:72px;padding:5px 2px}.sport-calendar-day-button__number{align-self:center}.sport-calendar-table th{text-align:center;padding:0 2px}.sport-calendar-day-button__sessions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px}.sport-calendar-snippet{display:inline-flex;padding:3px}.sport-calendar-snippet__title{display:none}.sport-calendar-day-button__more{padding:0;font-size:10px}}@media(max-width:820px){.sport-calendar-toolbar{grid-template-columns:1fr auto}.sport-calendar-toolbar__add-button{grid-column:1 / -1;justify-self:stretch}.sport-plan-template-list{grid-template-columns:1fr}.sport-plan-template-list{max-height:310px}}@media(max-width:700px){.sport-calendar-page-heading{padding:20px;border-radius:16px}.sport-calendar-load-error{grid-template-columns:auto minmax(0,1fr)}.sport-calendar-load-error>button{grid-column:1 / -1}.sport-day-session-list,.sport-plan-details,.sport-reschedule-fields,.sport-plan-filters{grid-template-columns:1fr}.sport-plan-form,.sport-reschedule-form{padding:18px}.sport-plan-actions .sport-plan-another-button{margin-left:0}}@media(max-width:520px){.sport-calendar-toolbar{grid-template-columns:1fr}.sport-calendar-toolbar__navigation{justify-content:space-between}.sport-calendar-toolbar__add-button{grid-column:auto}.sport-day-panel__header,.sport-plan-picker-heading{flex-direction:column}.sport-day-panel__add-button,.sport-plan-create-button{align-self:stretch;width:100%}.sport-plan-actions{display:grid;grid-template-columns:1fr}.sport-plan-actions>button{width:100%}}.sport-overview-page{display:grid;min-width:0;gap:16px}.sport-overview-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:23px 26px;border:1px solid var(--sport-border);border-radius:19px;background:radial-gradient(circle at 96% -40%,color-mix(in srgb,var(--color-accent) 24%,transparent),transparent 38%),color-mix(in srgb,var(--color-paper) 96%,transparent);box-shadow:0 16px 40px color-mix(in srgb,var(--color-accent) 6.5%,transparent)}.sport-overview-page-heading>div:first-child{min-width:0}.sport-overview-page-heading>div:first-child>span,.sport-overview-onboarding>div>span,.sport-overview-first-action>div>span{display:block;margin-bottom:5px;color:var(--color-accent);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.sport-overview-page-heading h2{margin:0;color:var(--color-ink);font-size:clamp(24px,3vw,29px);line-height:1.15}.sport-overview-page-heading p{max-width:660px;margin:8px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.55}.sport-overview-heading-actions,.sport-overview-first-action-buttons{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sport-overview-heading-actions>a,.sport-overview-first-action-buttons>a,.sport-overview-overdue-actions>a,.sport-overview-load-error>button{min-height:44px}.sport-overview-loading{display:grid;gap:13px}.sport-overview-loading-line,.sport-overview-loading-card{display:block;border-radius:13px;background:linear-gradient(90deg,var(--color-bg) 20%,var(--color-paper) 45%,var(--color-bg) 70%);background-size:220% 100%;animation:sport-overview-skeleton 1.25s ease-in-out infinite}.sport-overview-loading-line{width:44%;height:22px}.sport-overview-loading-line.is-heading{width:min(420px,62%)}.sport-overview-loading-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}.sport-overview-loading-card{min-height:310px}.sport-overview-loading-card.is-wide{grid-column:1 / -1;min-height:220px}@keyframes sport-overview-skeleton{0%{background-position:200% 0}to{background-position:-20% 0}}.sport-overview-load-error,.sport-overview-onboarding,.sport-overview-first-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px;border:1px solid var(--color-bg);border-radius:16px;background:color-mix(in srgb,var(--color-paper) 96%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--color-accent) 5.5%,transparent)}.sport-overview-load-error{border-color:var(--color-line);background:var(--color-paper)}.sport-overview-state-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:var(--color-accent);background:var(--color-soft)}.sport-overview-load-error .sport-overview-state-icon{color:var(--color-peach);background:var(--color-soft)}.sport-overview-load-error h3,.sport-overview-onboarding h3,.sport-overview-first-action h3{margin:0;color:var(--color-ink);font-size:17px}.sport-overview-load-error p,.sport-overview-onboarding p,.sport-overview-first-action p{margin:5px 0 0;color:var(--color-text-secondary);font-size:11px;line-height:1.5}.sport-overview-refresh-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--color-line);border-radius:11px;color:var(--color-peach);background:var(--color-soft);font-size:10px}.sport-overview-refresh-error button{min-height:44px;margin-left:auto;padding:0 9px;border:0;border-radius:8px;color:var(--color-peach);background:var(--color-soft);font:inherit;font-size:9px;font-weight:780;cursor:pointer}.sport-overview-refreshing{display:inline-flex;justify-self:end;align-items:center;gap:5px;margin-top:-7px;color:var(--color-text-secondary);font-size:9px}.sport-overview-refreshing svg{animation:sport-spinner .9s linear infinite}.sport-overview-overdue{overflow:hidden;border:1px solid var(--color-line);border-radius:15px;background:var(--color-paper)}.sport-overview-overdue>header{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--color-line)}.sport-overview-overdue-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--color-peach);background:var(--color-soft)}.sport-overview-overdue h3{margin:0;color:var(--color-ink);font-size:13px}.sport-overview-overdue header p{margin:3px 0 0;color:var(--color-peach);font-size:9px}.sport-overview-overdue ul,.sport-overview-session-list,.sport-overview-upcoming-day ul,.sport-overview-recent-list{margin:0;padding:0;list-style:none}.sport-overview-overdue li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 15px}.sport-overview-overdue li+li{border-top:1px solid var(--color-line)}.sport-overview-overdue-copy{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:4px 9px}.sport-overview-overdue-copy>strong{width:100%;overflow:hidden;color:var(--color-accent);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sport-overview-overdue-copy>span:last-child{color:var(--color-peach);font-size:9px}.sport-overview-overdue-actions{display:flex;align-items:center;gap:7px}.sport-overview-text-action,.sport-overview-more-link,.sport-overview-card-link,.sport-overview-edit-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;color:var(--color-accent);font-size:10px;font-weight:760}.sport-overview-more-link{padding:0 15px}.sport-overview-overdue>.sport-overview-more-link{width:100%;border-top:1px solid var(--color-line);color:var(--color-peach)}.sport-overview-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(330px,.86fr);align-items:start;gap:14px}.sport-overview-card{min-width:0;overflow:hidden;border:1px solid var(--color-bg);border-radius:16px;background:color-mix(in srgb,var(--color-paper) 97%,transparent);box-shadow:0 13px 34px color-mix(in srgb,var(--color-accent) 5.5%,transparent)}.sport-overview-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--color-bg);background:var(--color-paper)}.sport-overview-card-heading>div>span{display:block;margin-bottom:3px;color:var(--color-accent);font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.sport-overview-card-heading h3{margin:0;color:var(--color-ink);font-size:15px;line-height:1.3}.sport-overview-card-link{flex:0 0 auto}.sport-overview-today-completed{display:flex;align-items:center;gap:8px;margin:13px 15px 0;padding:10px 11px;border-radius:10px;color:var(--color-accent);background:var(--color-soft);font-size:10px}.sport-overview-session-list{padding:10px 13px 13px}.sport-overview-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:9px;min-height:59px;padding:8px 4px}.sport-overview-session-row+.sport-overview-session-row{border-top:1px solid var(--color-bg)}.sport-overview-session-main{display:grid;min-width:0;gap:5px}.sport-overview-session-main>strong,.sport-overview-upcoming-day li strong{overflow:hidden;color:var(--color-ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sport-overview-type{display:inline-flex;min-width:0;align-items:center;gap:5px;color:var(--color-text-secondary);font-size:8px;font-weight:690}.sport-overview-type-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--sport-overview-type-color)}.sport-overview-session-duration,.sport-overview-recent-duration{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:9px;font-weight:730;white-space:nowrap}.sport-overview-icon-link{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-line);border-radius:10px;color:var(--color-accent);background:var(--color-bg)}.sport-overview-card-empty{display:flex;min-height:135px;align-items:center;justify-content:center;gap:10px;padding:20px;color:var(--color-text-secondary)}.sport-overview-card-empty>div{display:grid;gap:3px}.sport-overview-card-empty strong{color:var(--color-accent);font-size:11px}.sport-overview-card-empty span{max-width:360px;color:var(--color-text-secondary);font-size:9px;line-height:1.45}.sport-overview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:13px}.sport-overview-metrics>div{display:grid;gap:3px;padding:10px;border:1px solid var(--color-bg);border-radius:10px;background:var(--color-paper)}.sport-overview-metrics dt{color:var(--color-text-secondary);font-size:8px}.sport-overview-metrics dd{margin:0;color:var(--color-ink);font-size:16px;font-weight:820}.sport-overview-metrics dd small{font-size:9px;font-weight:700}.sport-overview-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-height:150px;padding:7px 13px 14px}.sport-overview-chart-day{display:grid;min-width:0;grid-template-rows:17px 90px auto;justify-items:center;gap:4px}.sport-overview-chart-value,.sport-overview-chart-day time{color:var(--color-text-secondary);font-size:7px;font-weight:730}.sport-overview-chart-track{display:flex;width:min(26px,76%);height:90px;align-items:flex-end;overflow:hidden;border-radius:7px;background:var(--color-bg)}.sport-overview-chart-bar{width:100%;height:var(--sport-overview-bar-height);border-radius:7px;background:linear-gradient(180deg,var(--color-accent),var(--color-accent))}.sport-overview-chart-day.is-today time{color:var(--color-accent);font-weight:850}.sport-overview-comparison{margin:0 13px 13px;padding:8px 10px;border-radius:9px;color:var(--color-text-secondary);background:var(--color-bg);font-size:8px}.sport-overview-upcoming-groups{display:grid}.sport-overview-upcoming-day+.sport-overview-upcoming-day{border-top:1px solid var(--color-bg)}.sport-overview-upcoming-day>header{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;background:var(--color-paper)}.sport-overview-upcoming-day>header time{color:var(--color-text-secondary);font-size:9px;font-weight:800}.sport-overview-upcoming-day>header a{display:grid;width:44px;height:44px;place-items:center;color:var(--color-accent)}.sport-overview-upcoming-day li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:8px 15px}.sport-overview-upcoming-day li+li{border-top:1px solid var(--color-bg)}.sport-overview-upcoming-day li>div{display:grid;min-width:0;gap:4px}.sport-overview-upcoming-day li>span{color:var(--color-text-secondary);font-size:9px;font-weight:730}.sport-overview-recent-list>li+li{border-top:1px solid var(--color-bg)}.sport-overview-recent-list article{display:grid;gap:7px;padding:13px 15px}.sport-overview-recent-list article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sport-overview-recent-list time{color:var(--color-text-secondary);font-size:8px;font-weight:720}.sport-overview-recent-list h4{margin:3px 0 0;color:var(--color-ink);font-size:12px}.sport-overview-feedback-chips{display:flex;flex-wrap:wrap;gap:5px}.sport-overview-feedback-chips span{padding:4px 7px;border:1px solid var(--color-bg);border-radius:999px;color:var(--color-accent);background:var(--color-soft);font-size:7px;font-weight:760}.sport-overview-comment{display:flex;align-items:flex-start;gap:7px;margin:1px 0 0;padding:8px 9px;border-radius:9px;color:var(--color-text-secondary);background:var(--color-bg);font-size:8px;line-height:1.45}.sport-overview-comment svg{flex:0 0 auto}.sport-overview-comment span{display:-webkit-box;overflow:hidden;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sport-overview-edit-link{justify-self:start;min-height:44px}.sport-overview-page a:focus-visible,.sport-overview-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 34%,transparent);outline-offset:2px}.today-sport-card{position:relative;overflow:hidden;border:1px solid var(--color-bg);border-radius:16px;background:color-mix(in srgb,var(--color-paper) 97%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--color-ink) 5.5%,transparent)}.today-sport-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--color-accent);content:""}.today-sport-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px;border-bottom:1px solid var(--color-bg);background:radial-gradient(circle at 94% -45%,color-mix(in srgb,var(--color-accent) 16%,transparent),transparent 40%),var(--color-paper)}.today-sport-card__eyebrow{margin:0 0 3px;color:var(--color-accent);font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.today-sport-card__header h2{margin:0;color:var(--color-ink);font-size:20px}.today-sport-card__section-link,.today-sport-card__more{display:inline-flex;min-height:44px;align-items:center;gap:5px;color:var(--color-accent);font-size:11px;font-weight:760}.today-sport-card__body{display:grid;gap:11px;padding:15px 19px 17px}.today-sport-card__summary{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--color-text-secondary);font-size:10px}.today-sport-card__summary strong{color:var(--color-ink);font-size:12px}.today-sport-card__workouts{display:grid;gap:6px;margin:0;padding:0;list-style:none}.today-sport-card__workout-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;min-height:54px;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--color-bg);border-radius:11px;color:var(--color-ink);background:var(--color-paper)}.today-sport-card__type-dot{width:10px;height:10px;border-radius:50%;background:var(--today-sport-type-color)}.today-sport-card__workout-copy{display:grid;min-width:0;gap:2px}.today-sport-card__workout-copy strong,.today-sport-card__workout-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-sport-card__workout-copy strong{font-size:11px}.today-sport-card__workout-copy small{color:var(--color-text-secondary);font-size:8px}.today-sport-card__duration{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:9px;font-weight:730;white-space:nowrap}.today-sport-card__actions{display:flex;flex-wrap:wrap;gap:8px}.today-sport-card__actions>a{min-height:44px}.today-sport-card__completed-only{display:flex;align-items:center;gap:9px;padding:11px;border-radius:11px;color:var(--color-accent);background:var(--color-soft)}.today-sport-card__completed-only>div{display:grid;gap:2px}.today-sport-card__completed-only strong{font-size:11px}.today-sport-card__completed-only span{font-size:9px}.today-sport-card__overdue{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;align-items:center;gap:9px;padding:9px 19px;border-top:1px solid var(--color-line);color:var(--color-peach);background:var(--color-paper)}.today-sport-card__overdue>span{display:grid;min-width:0;gap:2px}.today-sport-card__overdue strong{font-size:10px}.today-sport-card__overdue small{color:var(--color-peach);font-size:8px}.today-sport-card__empty,.today-sport-card__error{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:155px;padding:18px 19px}.today-sport-card__empty-icon,.today-sport-card__error-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--color-accent);background:var(--color-soft)}.today-sport-card__empty-copy h3,.today-sport-card__error h3{margin:0;color:var(--color-ink);font-size:14px}.today-sport-card__empty-copy p,.today-sport-card__error p{margin:4px 0 0;color:var(--color-text-secondary);font-size:10px;line-height:1.45}.today-sport-card__error-icon{color:var(--color-peach);background:var(--color-soft)}.today-sport-card__loading{display:grid;gap:10px;min-height:185px;align-content:center;padding:20px}.today-sport-card__loading-line{height:16px;border-radius:8px;background:linear-gradient(90deg,var(--color-bg) 20%,var(--color-paper) 45%,var(--color-bg) 70%);background-size:220% 100%;animation:sport-overview-skeleton 1.25s ease-in-out infinite}.today-sport-card__loading-line.is-short{width:43%}.today-sport-card__refresh-error{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--color-peach);background:var(--color-soft);font-size:9px}.today-sport-card__refresh-error button{min-height:44px;margin-left:auto;border:0;color:var(--color-peach);background:transparent;font:inherit;font-size:9px;font-weight:780;cursor:pointer}.today-sport-card a:focus-visible,.today-sport-card button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 32%,transparent);outline-offset:2px}@media(max-width:1180px){.sport-overview-grid,.sport-overview-loading-grid{grid-template-columns:1fr}.sport-overview-loading-card.is-wide{grid-column:auto}}@media(max-width:760px){.sport-overview-page-heading,.sport-overview-load-error,.sport-overview-onboarding,.sport-overview-first-action{grid-template-columns:auto minmax(0,1fr)}.sport-overview-page-heading{flex-direction:column;padding:20px}.sport-overview-heading-actions,.sport-overview-first-action-buttons,.sport-overview-load-error>button,.sport-overview-onboarding>a{grid-column:1 / -1;justify-self:stretch}.sport-overview-heading-actions{width:100%;justify-content:flex-start}.sport-overview-heading-actions>a,.sport-overview-first-action-buttons>a{flex:1 1 190px}.sport-overview-overdue li{align-items:flex-start;grid-template-columns:1fr}.sport-overview-overdue-actions{justify-content:flex-end}.today-sport-card__empty,.today-sport-card__error{grid-template-columns:auto minmax(0,1fr)}.today-sport-card__empty .today-sport-card__actions,.today-sport-card__error>button{grid-column:1 / -1}}@media(max-width:520px){.sport-overview-heading-actions,.sport-overview-first-action-buttons,.sport-overview-overdue-actions,.today-sport-card__actions{display:grid;grid-template-columns:1fr}.sport-overview-heading-actions>a,.sport-overview-first-action-buttons>a,.sport-overview-overdue-actions>a,.today-sport-card__actions>a{width:100%}.sport-overview-card-heading{align-items:flex-start;flex-direction:column}.sport-overview-card-link{align-self:stretch;justify-content:flex-start}.sport-overview-session-row{grid-template-columns:minmax(0,1fr) 44px}.sport-overview-session-duration{grid-column:1;grid-row:2}.sport-overview-icon-link{grid-column:2;grid-row:1 / span 2}.sport-overview-metrics{grid-template-columns:1fr}.sport-overview-chart{gap:3px}.sport-overview-chart-track{width:min(22px,78%)}.today-sport-card__header,.today-sport-card__body,.today-sport-card__overdue,.today-sport-card__empty,.today-sport-card__error{padding-inline:15px}.today-sport-card__header h2{font-size:18px}.today-sport-card__workout-link{grid-template-columns:auto minmax(0,1fr) auto}.today-sport-card__workout-link>svg:last-child{display:none}.today-sport-card__duration{grid-column:2}}@media(prefers-reduced-motion:reduce){.sport-overview-loading-line,.sport-overview-loading-card,.today-sport-card__loading-line,.sport-overview-refreshing svg{animation:none}}@media(prefers-reduced-motion:reduce){.sport-calendar-grid[aria-busy=true]:after,.sport-calendar-day-button,.sport-calendar-day-button__sessions,.sport-plan-template{animation:none;transition:none}}.sport-day-panel__header-actions{display:grid;flex:0 0 auto;gap:7px}.sport-day-panel__record-button,.sport-day-panel__empty .sport-day-panel__record-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid color-mix(in srgb,var(--color-accent) 36%,transparent);border-radius:10px;color:var(--color-accent);background:var(--color-soft);box-shadow:none;font:inherit;font-size:10px;font-weight:780;cursor:pointer}.sport-day-panel__empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.sport-day-session-card__feedback{margin-top:11px;padding-top:10px;border-top:1px solid var(--color-bg)}.sport-day-session-card__feedback-chips{display:flex;flex-wrap:wrap;gap:5px}.sport-day-session-card__feedback-chip{padding:5px 7px;border:1px solid var(--color-bg);border-radius:999px;color:var(--color-accent);background:var(--color-soft);font-size:8px;font-weight:760;line-height:1.25}.sport-day-session-card__comment{margin-top:8px;padding:9px;border-radius:9px;color:var(--color-text-secondary);background:var(--color-bg)}.sport-day-session-card__comment>span{display:block;margin-bottom:3px;color:var(--color-text-secondary);font-size:7px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.sport-day-session-card__comment p,.sport-day-session-card__feedback-empty{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:9px;line-height:1.45}.sport-day-session-card__comment p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.sport-day-session-card__feedback-empty{color:var(--color-text-secondary);font-style:italic}.sport-day-session-card__actions.is-planned{grid-template-columns:repeat(2,minmax(0,1fr))}.sport-day-session-card__actions.is-planned .sport-day-session-card__complete-button{grid-column:1 / -1;color:var(--color-paper);border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 7px 15px color-mix(in srgb,var(--color-accent) 17%,transparent)}.sport-day-session-card__actions.is-completed{grid-template-columns:1fr}.sport-result-dialog{width:min(810px,100%);max-height:calc(100dvh - 32px)}.sport-result-form{overflow-y:auto;padding:20px 24px 22px;scrollbar-width:thin}.sport-result-template-picker{display:grid;gap:11px}.sport-result-template-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.sport-result-field{display:grid;min-width:0;gap:7px;color:var(--color-accent);font-size:10px;font-weight:760}.sport-result-field>select,.sport-result-input-shell{width:100%;min-height:46px;border:1px solid var(--color-line);border-radius:11px;color:var(--color-ink);background:var(--color-paper)}.sport-result-field>select{padding:0 12px;font:inherit;font-size:12px;cursor:pointer}.sport-result-create-template{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid color-mix(in srgb,var(--color-accent) 34%,transparent);border-radius:11px;color:var(--color-accent);background:var(--color-soft);font:inherit;font-size:11px;font-weight:760;cursor:pointer}.sport-result-workout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--color-bg);border-radius:12px;background:var(--color-paper)}.sport-result-workout-icon{display:grid;width:43px;height:43px;place-items:center;border-radius:11px;color:var(--color-accent);background:var(--color-soft)}.sport-result-workout>div{display:grid;min-width:0;gap:2px}.sport-result-workout>div>span{color:var(--color-text-secondary);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.sport-result-workout strong{overflow:hidden;color:var(--color-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.sport-result-workout small{color:var(--color-text-secondary);font-size:9px;font-weight:700;white-space:nowrap}.sport-result-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.sport-result-input-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px;padding-left:12px;color:var(--color-text-secondary)}.sport-result-input-shell input{min-width:0;height:44px;padding:0 10px;border:0;outline:0;color:var(--color-ink);background:transparent;font:inherit;font-size:12px}.sport-result-input-shell>span{padding-right:12px;font-size:10px;font-weight:650}.sport-result-feedback{display:grid;gap:11px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-bg)}.sport-result-feedback>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.sport-result-feedback h3{margin:0;color:var(--color-ink);font-size:14px}.sport-result-feedback header p{margin:4px 0 0;color:var(--color-text-secondary);font-size:10px}.sport-result-feedback>header>span{padding:5px 8px;border-radius:999px;color:var(--color-text-secondary);background:var(--color-bg);font-size:8px;font-weight:780;white-space:nowrap}.sport-result-scale{min-width:0;margin:0;padding:12px;border:1px solid var(--color-bg);border-radius:12px;background:var(--color-paper)}.sport-result-scale legend{padding:0 4px;color:var(--color-ink);font-size:11px;font-weight:800}.sport-result-scale legend span{color:var(--color-accent);font-size:8px;font-weight:650}.sport-result-scale>p{margin:0 0 9px;color:var(--color-text-secondary);font-size:9px}.sport-result-scale-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.sport-result-scale.is-compact .sport-result-scale-options{grid-template-columns:repeat(10,minmax(44px,1fr))}.sport-result-scale-option{position:relative;display:grid;min-width:0;min-height:52px;place-items:center;align-content:center;gap:2px;padding:5px;border:1px solid var(--color-line);border-radius:9px;color:var(--color-text-secondary);background:var(--color-paper);text-align:center;cursor:pointer}.sport-result-scale-option strong{font-size:13px}.sport-result-scale-option span{overflow:hidden;font-size:7px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sport-result-scale-option.is-selected{color:var(--color-paper);border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 5px 12px color-mix(in srgb,var(--color-accent) 18%,transparent)}.sport-result-scale-option:focus-within{outline:3px solid color-mix(in srgb,var(--color-accent) 32%,transparent);outline-offset:2px}.sport-result-scale-range,.sport-result-scale-selection{display:flex;align-items:center;justify-content:space-between;gap:12px}.sport-result-scale-range{margin-top:6px;color:var(--color-text-secondary);font-size:7px}.sport-result-scale-selection{min-height:28px;margin-top:7px;color:var(--color-text-secondary);font-size:9px}.sport-result-scale-selection button{display:inline-flex;min-height:28px;align-items:center;gap:4px;padding:0 7px;border:0;border-radius:7px;color:var(--color-text-secondary);background:var(--color-bg);font:inherit;font-size:8px;font-weight:760;cursor:pointer}.sport-result-comment{display:grid;gap:7px;color:var(--color-ink)}.sport-result-comment>span{display:flex;align-items:baseline;gap:6px}.sport-result-comment strong{font-size:11px}.sport-result-comment small{color:var(--color-accent);font-size:8px}.sport-result-comment textarea{min-height:96px;resize:vertical;padding:11px 12px;border:1px solid var(--color-line);border-radius:11px;outline:0;color:var(--color-ink);background:var(--color-paper);font:inherit;font-size:11px;line-height:1.5}.sport-result-comment>small{justify-self:end;margin-top:-3px}.sport-result-comment>small.is-over-limit{color:var(--color-peach);font-weight:800}.sport-result-message{min-height:38px;margin-top:9px}.sport-result-message p{margin:0;padding:8px 10px;border-radius:9px;color:var(--color-text-secondary);background:var(--color-bg);font-size:9px;line-height:1.45}.sport-result-message .sport-result-error{color:var(--color-peach);background:var(--color-paper)}.sport-result-actions{align-items:center}.sport-result-state{display:grid;min-height:145px;place-items:center;align-content:center;gap:7px;padding:18px;color:var(--color-text-secondary);text-align:center}.sport-result-state strong{color:var(--color-ink);font-size:14px}.sport-result-state p{max-width:440px;margin:0;color:var(--color-text-secondary);font-size:10px;line-height:1.5}.sport-result-form button:disabled,.sport-result-form input:disabled,.sport-result-form select:disabled,.sport-result-form textarea:disabled{cursor:not-allowed;opacity:.58}.sport-result-field>select:focus-visible,.sport-result-input-shell:focus-within,.sport-result-comment textarea:focus-visible,.sport-result-create-template:focus-visible,.sport-result-scale-selection button:focus-visible,.sport-day-panel__record-button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 34%,transparent);outline-offset:2px}@media(max-width:1180px){.sport-day-panel__header-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sport-day-session-card__comment p{-webkit-line-clamp:4}}@media(max-width:820px){.sport-result-dialog{width:min(760px,100%)}.sport-result-scale.is-compact .sport-result-scale-options{grid-template-columns:repeat(10,minmax(40px,1fr))}.sport-result-scale-option{min-height:48px}}@media(max-width:700px){.sport-result-form{padding:17px}.sport-result-template-controls,.sport-result-fields{grid-template-columns:1fr}.sport-result-feedback>header,.sport-result-workout{align-items:flex-start}.sport-result-scale.is-compact .sport-result-scale-options{grid-template-columns:repeat(5,minmax(44px,1fr))}.sport-result-workout{grid-template-columns:auto minmax(0,1fr)}.sport-result-workout small{grid-column:2}}@media(max-width:520px){.sport-day-panel__header-actions,.sport-day-panel__empty-actions,.sport-result-actions{width:100%;grid-template-columns:1fr}.sport-day-panel__empty-actions{display:grid}.sport-day-panel__header-actions>button,.sport-day-panel__empty-actions>button,.sport-result-actions>button{width:100%}.sport-result-feedback>header{flex-direction:column}.sport-result-scale-options{grid-template-columns:repeat(5,minmax(42px,1fr))}.sport-result-scale-range,.sport-result-scale-selection{align-items:flex-start;flex-direction:column}}.settings-nav-link{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border-radius:8px;color:var(--color-text-secondary);font-size:14px;font-weight:650;transition:color .16s ease,background .16s ease}.settings-nav-link:hover,.settings-nav-link.active{color:var(--color-accent);background:var(--color-soft)}.settings-nav-link:focus-visible,.legacy-data-backup-link:focus-visible,.settings-data-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 42%,transparent);outline-offset:2px}.legacy-data-backup-link{min-height:44px;white-space:nowrap}.confirm-dialog button:disabled{cursor:wait;opacity:.62;transform:none}.app-recovery-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-accent) 20%,transparent),transparent 340px),var(--color-paper)}.app-recovery-card{width:min(460px,100%);padding:30px;border:1px solid color-mix(in srgb,var(--color-accent) 28%,transparent);border-radius:20px;background:color-mix(in srgb,var(--color-paper) 96%,transparent);box-shadow:0 22px 55px color-mix(in srgb,var(--color-ink) 10%,transparent);text-align:center}.app-recovery-card h1{margin:17px 0 8px;color:var(--color-ink);font-size:24px}.app-recovery-card.is-error h1{margin-top:0}.app-recovery-card p{margin:0;color:var(--color-text-secondary);line-height:1.55}.app-recovery-card button{min-height:44px;margin-top:20px;padding:0 18px;border:1px solid var(--color-accent);border-radius:11px;color:var(--color-paper);background:var(--color-accent);font-weight:750;cursor:pointer}.app-recovery-spinner{display:inline-block;width:34px;height:34px;border:3px solid var(--color-soft);border-top-color:var(--color-accent);border-radius:50%;animation:app-recovery-spin .8s linear infinite}@keyframes app-recovery-spin{to{transform:rotate(360deg)}}.settings-data-page{--settings-data-accent: var(--color-accent);--settings-data-ink: var(--color-accent);--settings-data-soft: var(--color-soft);display:grid;gap:20px;padding-bottom:32px}.settings-data-page .page-header{margin-bottom:2px}.settings-data-notice{padding:13px 15px;border:1px solid var(--color-line);border-radius:12px;color:var(--color-accent);background:var(--color-soft);font-size:14px;line-height:1.45}.settings-data-notice.is-success{border-color:var(--color-line);color:var(--color-ink);background:var(--color-soft)}.settings-data-notice.is-error{border-color:var(--color-soft);color:var(--color-peach);background:var(--color-paper)}.settings-data-intro,.settings-data-summary,.settings-data-card,.settings-data-cleanup{border:1px solid color-mix(in srgb,var(--color-accent) 24%,transparent);background:color-mix(in srgb,var(--color-paper) 94%,transparent);box-shadow:0 14px 38px color-mix(in srgb,var(--color-ink) 5.5%,transparent)}.settings-data-intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start;padding:19px 21px;border-radius:16px}.settings-data-intro-icon,.settings-data-cleanup-icon,.settings-data-card-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--settings-data-ink);background:var(--settings-data-soft)}.settings-data-intro-icon{width:46px;height:46px}.settings-data-intro h2,.settings-data-summary h2,.settings-data-card h2,.settings-data-cleanup h2{margin:0;color:var(--color-ink)}.settings-data-intro h2,.settings-data-cleanup h2{font-size:18px}.settings-data-intro p{margin:5px 0 4px;color:var(--color-text-secondary);line-height:1.5}.settings-data-intro small{display:block;color:var(--color-text-secondary);line-height:1.45}.settings-data-summary{padding:21px;border-radius:17px}.settings-data-summary>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.settings-data-summary h2{font-size:20px}.settings-data-eyebrow{display:block;margin-bottom:3px;color:var(--color-accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.settings-data-text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 12px;border:0;border-radius:9px;color:var(--settings-data-ink);background:var(--settings-data-soft);font-size:13px;font-weight:750;cursor:pointer}.settings-data-summary-state{min-height:74px;display:grid;place-items:center;border:1px dashed var(--color-bg);border-radius:12px;color:var(--color-text-secondary);text-align:center}.settings-data-summary-state.is-error{border-color:var(--color-soft);color:var(--color-peach);background:var(--color-paper)}.settings-data-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.settings-data-summary-grid>div{position:relative;min-width:0;min-height:91px;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;gap:2px 8px;padding:13px;border:1px solid var(--color-bg);border-radius:12px;background:var(--color-paper)}.settings-data-summary-grid svg{grid-row:1 / 3;color:var(--color-accent)}.settings-data-summary-grid dt{overflow:hidden;color:var(--color-text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.settings-data-summary-grid dd{margin:0;color:var(--color-ink);font-size:21px;font-weight:800;line-height:1.1}.settings-data-summary-grid small{grid-column:2;color:var(--color-text-secondary);font-size:10px}.settings-data-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.settings-data-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:22px;border-radius:18px}.settings-data-card-icon{width:46px;height:46px}.settings-data-card-icon.is-export,.settings-data-card-icon.is-import{color:var(--color-accent);background:var(--color-soft)}.settings-data-card-copy{min-width:0}.settings-data-card h2{font-size:19px}.settings-data-card-copy p{margin:6px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.55}.settings-data-card>.settings-data-button,.settings-data-card>.settings-data-card-hint,.settings-data-card>.settings-data-preview{grid-column:1 / -1}.settings-data-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:760;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.settings-data-button:not(:disabled):hover{transform:translateY(-1px)}.settings-data-button:disabled,.settings-data-text-button:disabled{cursor:wait;opacity:.58;transform:none}.settings-data-button.is-primary{border-color:var(--color-accent);color:var(--color-paper);background:var(--color-accent)}.settings-data-button.is-secondary,.settings-data-button.is-quiet{border-color:var(--color-line);color:var(--color-ink);background:var(--color-paper)}.settings-data-button.is-quiet{background:var(--color-paper)}.settings-data-button.is-danger{border-color:var(--color-peach);color:var(--color-peach);background:var(--color-paper)}.settings-data-card-hint{margin-top:-6px;color:var(--color-text-secondary);text-align:center;font-size:11px}.settings-data-preview{display:grid;gap:13px;margin-top:3px;padding:15px;border:1px solid var(--color-line);border-radius:13px;background:var(--color-paper)}.settings-data-preview>header{display:flex;align-items:center;gap:10px;color:var(--color-accent)}.settings-data-preview>header div{display:grid;gap:2px;min-width:0}.settings-data-preview>header strong,.settings-data-preview>header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-data-preview>header strong{color:var(--color-ink);font-size:13px}.settings-data-preview>header span{color:var(--color-text-secondary);font-size:11px}.settings-data-preview dl{display:grid;gap:6px;margin:0}.settings-data-preview dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.settings-data-preview dt{color:var(--color-text-secondary);font-size:11px}.settings-data-preview dd{margin:0;color:var(--color-ink);text-align:right;font-size:12px;font-weight:700}.settings-data-preview-counts{display:flex;flex-wrap:wrap;gap:6px}.settings-data-preview-counts span{padding:5px 8px;border-radius:999px;color:var(--color-text-secondary);background:var(--color-soft);font-size:10px;font-weight:700}.settings-data-preview p{margin:0;color:var(--color-peach);font-size:11px;line-height:1.5}.settings-data-preview-actions{display:flex;justify-content:flex-end;gap:8px}.settings-data-cleanup{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:19px 21px;border-radius:16px}.settings-data-cleanup-icon{width:42px;height:42px;color:var(--color-peach);background:var(--color-soft)}.settings-data-cleanup p{margin:5px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.5}.settings-data-cleanup small{display:block;margin-top:6px;color:var(--color-accent);font-weight:700}@media(max-width:900px){.app-shell:not(.books-legacy-shell) .sidebar{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.app-shell:not(.books-legacy-shell) .brand{grid-row:1;grid-column:1}.app-shell:not(.books-legacy-shell) .nav-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-column:1 / -1;grid-row:2;overflow:visible}.app-shell:not(.books-legacy-shell) .nav-link{justify-content:center;min-width:0;width:auto}.app-shell:not(.books-legacy-shell) .nav-link span{display:inline}.app-shell:not(.books-legacy-shell) .sidebar-footer{display:block;margin:0;grid-row:1;grid-column:2}.app-shell:not(.books-legacy-shell) .settings-nav-link{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.app-shell:not(.books-legacy-shell) .settings-nav-link span{display:none}}@media(max-width:560px){.app-shell:not(.books-legacy-shell) .nav-link{flex-direction:column;gap:4px;padding:7px 4px;font-size:12px}}@media(max-width:820px){.settings-data-summary-grid,.settings-data-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-data-actions-grid{grid-template-columns:1fr}.settings-data-cleanup{grid-template-columns:auto minmax(0,1fr);align-items:start}.settings-data-cleanup>.settings-data-button{grid-column:2;justify-self:start}}@media(max-width:560px){.settings-data-intro,.settings-data-cleanup{grid-template-columns:1fr}.settings-data-intro-icon,.settings-data-cleanup-icon{width:42px;height:42px}.settings-data-summary,.settings-data-card,.settings-data-intro,.settings-data-cleanup{padding:17px}.settings-data-summary-grid{grid-template-columns:1fr}.settings-data-cleanup>.settings-data-button{grid-column:1;width:100%}.settings-data-preview-actions{display:grid;grid-template-columns:1fr}.legacy-data-backup-link span{display:none}.legacy-data-backup-link{width:44px;padding:0}}@media(prefers-reduced-motion:reduce){.app-recovery-spinner{animation-duration:1.8s}}}@layer components{:root{color:var(--color-ink);background:var(--color-bg);font-family:var(--font-body)}body{background:var(--color-bg);color:var(--color-ink)}*{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,[role=button]{cursor:pointer}button{min-height:var(--target-size);min-width:var(--target-size);border-radius:var(--radius-control);font-family:var(--font-body)}button:disabled,input:disabled,select:disabled{cursor:default;opacity:.52}button svg,a svg{flex-shrink:0}:focus-visible{outline:3px solid var(--color-blue);outline-offset:3px}h1,h2,h3{color:var(--color-ink);overflow-wrap:anywhere}h1,h2{font-family:var(--font-heading);font-weight:400;letter-spacing:-.025em}h3{font-weight:650}p{line-height:1.55}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-width:0;max-width:100%;min-height:var(--target-size);border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-ink);padding:10px 12px;font-size:16px;box-shadow:none}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}textarea{resize:vertical;line-height:1.5}.study-summary,.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.study-toolbar,.page-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.study-toolbar h2{margin:0}.study-toolbar p{margin:8px 0 0;color:var(--color-text-secondary)}.study-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{min-width:0;display:grid;gap:8px}.field>span,label>span{color:var(--color-ink)}.field small,.field>small{color:var(--color-text-secondary);line-height:1.5}:is(.button,.primary-button,.secondary-button,.ghost-icon-button,.legacy-primary-action,.legacy-secondary-action,.legacy-danger-action,.legacy-action-button,.sport-primary-button,.sport-secondary-button,.sport-card-action,.sport-dialog-close,.settings-data-button,.modal-close,.book-subject-add,.sport-type-button,.sport-day-panel__add-button,.sport-day-panel__record-button,.sport-day-session-card__complete-button,.sport-day-session-card__actions button,.sport-result-create-template){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--target-size);max-width:100%;border:1px solid var(--color-line);border-radius:var(--radius-control);padding:10px 16px;background:var(--color-paper);color:var(--color-ink);font:600 14px/1.3 var(--font-body);text-align:center;text-decoration:none;white-space:normal;box-shadow:none}:is(.button-primary,.primary-button,.legacy-primary-action,.sport-primary-button,.sport-card-action-primary,.settings-data-button-primary,.settings-data-button.is-primary,.sport-type-button--primary,.sport-day-panel__add-button,.sport-day-session-card__complete-button){background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}:is(.button-danger,.legacy-danger-action,.settings-data-button.is-danger){background:var(--color-danger);color:var(--color-on-accent);border-color:var(--color-danger)}:is(.button-icon,.ghost-icon-button,.legacy-action-button,.sport-dialog-close,.modal-close,.legacy-heatmap-nav){width:var(--target-size);min-width:var(--target-size);height:var(--target-size);padding:10px}:is(.button,.primary-button,.secondary-button,.ghost-icon-button,.legacy-primary-action,.legacy-secondary-action,.sport-primary-button,.sport-secondary-button):hover:not(:disabled){filter:brightness(.96);transform:none}:is(.panel,.sport-panel,.legacy-book-card,.sport-workout-card,.settings-data-card,.module-card,.confirm-dialog){border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-paper);box-shadow:var(--shadow-card)}.panel{padding:24px}:is(.progress-track,.legacy-progress-bar){height:7px;background:var(--color-line);border-radius:999px;overflow:hidden}:is(.progress-fill,.legacy-progress-bar>div){height:100%;background:var(--color-accent);border-radius:inherit}:is(.section-tabs,.legacy-section-tabs){display:flex;flex-wrap:wrap;gap:6px;width:100%;max-width:none;overflow:visible;padding:5px;border:1px solid var(--color-line);border-radius:13px;background:var(--color-paper);box-shadow:none;margin-bottom:24px}:is(.section-tab,.legacy-section-tab){flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:46px;padding:10px 14px;border:0;border-radius:9px;background:transparent;color:var(--color-text-secondary);font-size:14px;white-space:normal;box-shadow:none}:is(.section-tab,.legacy-section-tab):after,:is(.section-tab,.legacy-section-tab):before{content:none}:is(.section-tab.is-active,.legacy-section-tab.is-active,.legacy-section-tab.active){background:var(--color-soft);color:var(--color-accent);box-shadow:none;border:0}.modal-backdrop,.sport-dialog,.confirm-dialog{animation:none}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#303a3057;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}:is(.sport-dialog,.confirm-dialog,.modal-card){width:min(100%,720px);max-height:calc(100dvh - 32px);min-width:0;overflow:auto;overscroll-behavior:contain;background:var(--color-paper);border:1px solid var(--color-line);border-radius:20px;padding:24px;color:var(--color-ink);box-shadow:0 24px 80px #303a302e}.sport-dialog-header{padding:0;background:transparent;border:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.sport-dialog-header h2{font-size:28px;margin:0}.sport-dialog-header p{color:var(--color-text-secondary);font-size:14px}.sport-dialog-close{position:static;flex-shrink:0}.sport-dialog-actions,.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}:is(.study-error,.form-error,.error-text){color:var(--color-danger)}.eyebrow{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.12em;font:600 11px/1.5 var(--font-body)}@media(max-width:560px){.panel{padding:18px}.study-form-grid{grid-template-columns:minmax(0,1fr)}:is(.sport-dialog,.confirm-dialog,.modal-card){padding:18px}.section-tab{padding:10px 8px;font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}}@layer components{.choice-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-paper);color:var(--color-ink);font:inherit;font-size:16px;text-align:left;cursor:pointer}.choice-trigger span{min-width:0;overflow-wrap:anywhere}.choice-trigger svg{flex-shrink:0}.choice-dialog{max-width:520px}.choice-list{display:grid;gap:6px;max-height:52dvh;overflow:auto}.choice-list button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;text-align:left;padding:12px;border:1px solid transparent;border-radius:10px;background:var(--color-paper);color:var(--color-ink);font:inherit;cursor:pointer;overflow-wrap:anywhere}.choice-list button[aria-selected=true]{background:var(--color-soft);border-color:var(--color-accent)}.choice-list button:hover{background:var(--color-bg)}.choice-list button:disabled,.choice-trigger:disabled{opacity:.55;cursor:default}.date-control{display:flex;align-items:stretch;gap:6px;width:100%;min-width:0}.date-control>input{flex:1;width:100%;min-width:0}.date-control>button{flex-shrink:0}.date-dialog{width:min(480px,100%)}.date-month-nav{display:grid;grid-template-columns:44px minmax(100px,1fr) 84px 44px;gap:8px;align-items:center}.date-month-nav input{width:100%;min-width:0}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-block:16px}.date-weekday{color:var(--color-text-secondary);text-align:center;padding-block:6px;font-size:14px}.date-grid button{min-height:44px;padding:4px;border:1px solid transparent;border-radius:10px;color:var(--color-ink);background:var(--color-paper);font:inherit;cursor:pointer}.date-grid button[aria-current=date]{border-color:var(--color-accent)}.date-grid button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.date-grid button:disabled{opacity:.3;cursor:default}.date-actions{display:flex;justify-content:space-between;gap:12px}.sport-plan-input-shell>.date-control,.sport-result-input-shell>.date-control{flex:1}@media(max-width:400px){.date-month-nav{gap:4px;grid-template-columns:44px minmax(82px,1fr) 68px 44px}.date-dialog{padding:12px}.date-grid{gap:0}}}@layer components{.workout-extra-fields{display:grid;gap:16px;min-width:0}.workout-extra-fields h3,.workout-extra-fields p{margin:0}.workout-extra-fields>button{justify-self:start}.workout-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.workout-chip-row button[aria-pressed=true]{background:var(--color-soft);border-color:var(--color-accent);color:var(--color-accent)}.workout-type-picker,.workout-rating-field{min-width:0;margin:0;padding:16px;border:1px solid var(--color-line);border-radius:var(--radius-control)}.workout-type-picker legend,.workout-rating-field legend{padding:0 6px;font-weight:600}.workout-type-picker>button{margin-top:12px}.workout-rating-controls{display:grid;grid-template-columns:minmax(80px,1fr) 88px auto;gap:12px;align-items:center}.workout-rating-controls input{min-width:0;width:100%}.workout-rating-controls input[type=range]{min-height:44px;padding:0;accent-color:var(--color-accent)}.workout-rating-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:12px;border-top:1px solid var(--color-line)}.workout-rating-summary>span{display:grid;gap:4px;font-size:14px}.workout-rating-summary strong{font-family:var(--font-heading);font-size:28px;color:var(--color-accent)}.workout-rating-summary small{color:var(--color-text-secondary)}.workout-card-title{display:flex;align-items:start;justify-content:space-between;gap:12px}.workout-card-title h3{flex:1;min-width:0;overflow-wrap:anywhere}.workout-card-title>button{flex-shrink:0}.workout-library-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px;margin-bottom:24px}.workout-library-controls>.workout-chip-row{grid-column:1 / -1}.sport-workout-card-image{display:block}.sport-workout-card-image img{object-fit:contain;background:var(--color-bg)}.sport-workout-card-placeholder{flex-direction:column;gap:12px}.sport-workout-card-actions{flex-wrap:wrap}.sport-workout-card-actions>a{flex:1}.workout-info-panel{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:24px;padding:24px;align-items:start}.workout-info-panel:not(:has(.workout-detail-image)){grid-template-columns:1fr}.workout-detail-image{display:grid;gap:12px;padding:12px;width:100%;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-bg);color:var(--color-text-secondary);font:inherit;text-align:center;cursor:zoom-in}.workout-detail-image img{max-height:400px;width:100%;object-fit:contain}.workout-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.workout-image-dialog{width:min(100%,960px)}.workout-image-dialog>img{max-width:100%;max-height:75dvh;object-fit:contain;align-self:center}@media(max-width:760px){.workout-library-controls,.workout-info-panel{grid-template-columns:1fr}.workout-detail-image img{max-height:280px}}@media(max-width:560px){.workout-rating-controls{grid-template-columns:1fr 80px}.workout-rating-controls button{grid-column:1 / -1;justify-self:start}}}@layer components{.choice-trigger,.date-control input{font-weight:400}}@layer components{.keep-share-import{display:grid;gap:14px;padding:18px;min-width:0;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-bg)}.keep-share-import>button{justify-self:start;max-width:100%}.keep-share-import h3{margin-bottom:8px}.keep-import-parts{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:0;list-style:none;font-size:14px;color:var(--color-text-secondary)}.keep-import-parts li[data-ready=true]{color:var(--color-accent)}}@layer components{.pets-page{min-width:0}.pet-toolbar,.pet-section-heading,.pet-inline,.pet-selector,.pet-identity,.pet-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pet-toolbar{justify-content:space-between;margin-block:24px}.pet-selector{min-width:0;flex:1 1 350px}.pet-selector>button{white-space:normal;text-align:left;max-width:100%}.pet-selector button[aria-pressed=true],.pets-page .button[aria-pressed=true],.pet-dialog .button[aria-pressed=true]{background:var(--color-soft);border-color:var(--color-accent);color:var(--color-accent)}.pet-avatar{width:56px;height:56px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--color-peach-soft);color:var(--color-peach);border-radius:50%;overflow:hidden}.pet-avatar img{width:100%;height:100%;object-fit:cover}.pet-selector .pet-avatar{width:32px;height:32px}.pet-identity{flex:1;flex-wrap:nowrap;min-width:0}.pet-identity>div{min-width:0}.pet-section-heading{justify-content:space-between;align-items:flex-start}.pet-section-heading>div:first-child{min-width:0;flex:1}.pets-page :is(h2,h3,h4,p){margin:0}.pets-page h3{font:500 24px/1.3 var(--font-heading)}.pets-page h4{font-size:16px;line-height:1.5}.pets-page :is(h3,h4)>svg{vertical-align:middle;margin-right:6px}.pets-page :is(small,.study-muted){color:var(--color-text-secondary);line-height:1.5}.pets-page small{display:block}.pets-page :is(p,small,strong,h4),.pet-dialog :is(p,small,label,span){overflow-wrap:anywhere}.pet-today-grid,.pet-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px}.pet-today-card,.pet-section,.pet-health,.pet-history{display:grid;gap:20px}.pet-today-card{align-content:start}.pet-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:14px}.pet-quick-tile{display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-bg);min-width:0}.pet-quick-tile>strong{color:var(--color-accent);font:500 30px/1.2 var(--font-heading)}.pet-dose-section{display:grid;gap:14px;border-top:1px solid var(--color-line);padding-top:20px}.pet-dose-row{display:grid;gap:12px;padding:14px;background:var(--color-soft);border-radius:var(--radius-control)}.pet-dose-row p{margin-top:4px}.pet-list-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid var(--color-line)}.pet-list-row>span{flex:1;min-width:150px}.pets-page>.pet-section{margin-top:24px}.pet-notice{justify-content:space-between;border-radius:var(--radius-control);padding:12px 16px;background:var(--color-soft);margin-block:16px}.pet-dialog{width:min(740px,100%)}.pet-form,.pet-form-fields,.pet-asset-picker,.pet-filters{display:grid;gap:18px;min-width:0}.pet-form-fields{padding:0;margin:0;border:0}.pet-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pet-wide{grid-column:1 / -1}.pet-check{display:flex;align-items:center;gap:10px;min-height:44px;line-height:1.4}.pet-check input{width:20px;height:20px;flex-shrink:0}.pet-options{border:1px solid var(--color-line);border-radius:var(--radius-control);padding:12px 16px;margin:0;min-width:0}.pet-options legend{padding-inline:6px}.pet-callout{padding:14px;background:var(--color-soft);border-radius:var(--radius-control);line-height:1.6}.pet-attachments{display:flex;flex-wrap:wrap;gap:10px}.pet-image-button{padding:0;width:96px;height:80px;overflow:hidden}.pet-image-button img{width:100%;height:100%;object-fit:cover}.pet-attachments>a{min-width:0;white-space:normal;overflow-wrap:anywhere;max-width:100%}.pet-photo-preview{max-width:100%;max-height:70dvh;object-fit:contain;display:block;margin-inline:auto}.pet-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pet-file-row span{min-width:0;overflow-wrap:anywhere}.pet-note{white-space:pre-wrap;overflow-wrap:anywhere}.pet-diary-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.pet-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;text-transform:capitalize}.pet-calendar-heading strong{text-align:center}.pet-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-block:16px}.pet-calendar-grid>span{color:var(--color-text-secondary);font-size:13px;text-align:center}.pet-calendar-grid button{display:grid;place-content:center;gap:2px;min-width:0;min-height:48px;padding:4px;border:1px solid transparent;background:var(--color-paper);color:var(--color-ink)}.pet-calendar-grid button small{font-size:11px;color:var(--color-accent)}.pet-calendar-grid button[data-outside=true]{opacity:.55}.pet-calendar-grid button[aria-current=date]{border-color:var(--color-accent)}.pet-calendar-grid button[aria-pressed=true]{background:var(--color-soft)}.pet-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:20px}.pet-metrics>div{display:grid;gap:6px}.pet-metrics strong{font:500 28px/1.2 var(--font-heading);color:var(--color-accent)}.pet-metrics span{font-size:14px;color:var(--color-text-secondary)}.pet-history{margin-top:20px}.pet-history>article{display:grid;gap:14px}.pet-health-item{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--color-line)}.pet-health-item>button{justify-self:start}.pet-water-chart{display:flex;align-items:stretch;gap:5px;height:145px;margin:20px 0 30px}.pet-water-chart>div{position:relative;min-width:0;flex:1;display:flex;align-items:end}.pet-water-chart span{width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--color-blue)}.pet-water-chart small{position:absolute;top:150px;width:100%;text-align:center;font-size:10px}.pet-weight-chart{width:100%;max-height:210px;color:var(--color-accent)}.pet-weight-chart text{fill:var(--color-text-secondary);font:14px var(--font-body)}.pets-page summary{min-height:44px;cursor:pointer;line-height:44px}@media(max-width:760px){.pet-diary-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.pet-form-grid,.pet-metrics{grid-template-columns:minmax(0,1fr)}.pet-section-heading{gap:14px}.pet-section-heading>div:first-child{flex-basis:100%}}}@layer components{.module-settings{display:grid;gap:24px;margin-top:24px}.module-settings h2,.module-settings h3{margin:0 0 6px}.module-settings p{margin:0;color:var(--color-text-secondary)}.module-settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--color-line)}.module-settings-label{display:flex;align-items:center;gap:16px;min-width:0}.module-settings-label>svg{flex-shrink:0;color:var(--color-accent)}.module-settings-row [role=switch]{min-width:148px;flex-shrink:0}.module-disabled{display:grid;justify-items:start;gap:16px}.module-disabled h1,.module-disabled h2,.module-disabled p{margin:0}.pet-water-progress{display:flex;align-items:center;gap:12px}.pet-water-progress>div:last-child{display:grid;gap:5px;min-width:0}.pet-water-progress strong{color:var(--color-blue);font:500 30px/1.2 var(--font-heading)}.button.pet-water-drop{position:relative;width:60px;min-width:60px;height:70px;flex-shrink:0;padding:0;border-color:transparent;background:transparent;box-shadow:none}.button.pet-water-drop:hover{background:var(--color-blue-soft)}.pet-water-drop>svg:first-child{display:block;width:60px;height:70px}.pet-water-drop .pet-drop-edit{position:absolute;right:0;bottom:0;width:20px;height:20px;padding:3px;border-radius:50%;background:var(--color-paper);color:var(--color-blue)}.pet-water-actions{gap:8px}.pet-water-actions>.button{padding-inline:12px}.pet-drop-base{fill:var(--color-blue-soft)}.pet-drop-fill{fill:var(--color-blue);transition:y .25s ease,height .25s ease}.pet-drop-outline{fill:none;stroke:var(--color-blue);stroke-width:2}.pet-care-action{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pet-care-action>.button:first-child{flex:1 1 145px}.pet-calendar-types{display:grid;gap:12px;margin:20px 0}.pet-calendar-types>span{color:var(--color-text-secondary);font-size:14px}.pet-frequency-summary{display:grid;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid var(--color-line)}.pet-frequency-summary small{color:var(--color-text-secondary)}.pet-period-frequency{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-block:20px}.pet-calendar-grid button[data-frequency="1"]{background:var(--color-soft)}.pet-calendar-grid button[data-frequency="2"]{background:color-mix(in srgb,var(--color-accent) 25%,var(--color-paper))}.pet-calendar-grid button[data-frequency="3"]{background:var(--color-accent);color:var(--color-on-accent)}.pet-calendar-grid button[data-frequency="3"] small{color:var(--color-on-accent)}.pet-calendar-grid button[aria-pressed=true]{outline:2px solid var(--color-ink);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.pet-drop-fill{transition:none}}@media(max-width:560px){.module-settings-row{flex-wrap:wrap}.module-settings-row [role=switch]{width:100%}}}@layer editorial{.app-shell{display:block;min-height:100dvh}.sidebar{position:static;height:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:20px max(24px,calc((100% - 1200px)/2));background:var(--color-paper);border:0;border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:none;backdrop-filter:none}.brand{padding:0;gap:8px}.brand-logo{width:32px;height:32px}.brand-name{font:600 23px var(--font-heading)}.brand-caption{display:none}.nav-list{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.nav-link{min-height:46px;padding:10px 16px;border-radius:10px;font-size:14px;color:var(--color-text-secondary)}.nav-link.active{color:var(--color-accent);background:var(--color-soft)}.nav-link:hover{background:var(--color-soft);color:var(--color-accent)}.sidebar-footer{margin:0}.settings-nav-link{min-height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--color-line);border-radius:10px;color:var(--color-text-secondary);padding:10px}.settings-nav-link span{display:none}.content{padding:36px 32px 64px}.page{max-width:1200px;margin-inline:auto}:is(.page-header h1,.sport-header h1,.legacy-page-heading h1){font:400 clamp(32px,4vw,44px)/1.15 var(--font-heading);color:var(--color-ink)}.sport-header{padding:0;margin:12px 0 28px;gap:16px;border:0;background:transparent;box-shadow:none}.sport-header-icon{width:52px;height:52px;background:var(--color-soft);border-radius:14px;color:var(--color-accent)}.sport-header-copy>span{display:none}.sport-header p,.page-header p{color:var(--color-text-secondary);font-size:15px}.sport-back-link{color:var(--color-text-secondary);min-height:44px;margin-bottom:8px;display:inline-flex;align-items:center;gap:8px}.date-sticker{width:104px;min-width:104px;padding:18px 10px 14px;display:grid;text-align:center;gap:3px;color:var(--color-peach);background:var(--color-peach-soft);border-radius:19px 27px 18px 24px;transform:rotate(3deg);position:relative;box-shadow:5px 6px #303a3009}.date-sticker:before{content:"";width:43px;height:14px;background:#9d644926;position:absolute;top:-7px;left:30px;transform:rotate(-6deg)}.date-sticker span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.date-sticker strong{font:400 42px/1.05 var(--font-heading)}.home-page .page-header{align-items:center;margin-bottom:32px;padding:12px 0;background:transparent;border:0;box-shadow:none}.home-page .home-active-grid{gap:14px}.home-active-grid .module-card{padding:20px;background:var(--color-paper)}.module-icon{background:var(--color-soft);color:var(--color-accent)}.module-description{color:var(--color-text-secondary)}.home-dashboard-layout{gap:24px}.home-dashboard-widget{display:grid;gap:24px}.today-study-card header,.workout-history header{display:flex;justify-content:space-between;align-items:center;gap:12px}.today-study-card h2{margin-top:0}.today-study-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:15px;border-top:1px solid var(--color-line)}.today-study-item strong{display:block;margin-bottom:5px}.today-study-item small{color:var(--color-text-secondary)}.study-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.study-filter-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.study-summary .panel{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.study-summary strong{font:400 28px var(--font-heading)}.study-summary span{color:var(--color-text-secondary);font-size:13px}.study-object{grid-template-columns:minmax(0,1fr) minmax(200px,.65fr) auto;padding:24px}.study-object.is-done{background:var(--color-soft);border-color:var(--color-line)}.study-material-meta{display:grid;gap:8px;font-size:13px;color:var(--color-text-secondary)}.study-type-icon{color:var(--color-accent);background:var(--color-soft)}.study-participation-option{display:flex;align-items:flex-start;gap:12px;background:var(--color-soft);padding:16px;border-radius:12px}.study-participation-option input{width:20px;height:20px;flex-shrink:0}.study-participation-option small{display:block;margin-top:6px;color:var(--color-text-secondary)}.study-form{padding:0}.study-history li span{white-space:normal}.study-history li{align-items:flex-start}.study-calendar-grid button.is-selected small{color:var(--color-on-accent)}.study-participated{color:var(--color-accent);font-size:13px}.study-day-check,.study-weekdays label{min-height:44px}.study-calendar-grid button{min-height:70px;background:var(--color-paper);color:var(--color-ink);border-color:var(--color-line)}.study-calendar-grid button.is-selected{color:var(--color-on-accent);background:var(--color-accent)}.study-calendar-grid button.has-progress:not(.is-selected){background:var(--color-soft)}.legacy-filter-panel:not(.filters-open) .legacy-filter-grid>label:not(.legacy-search-field){display:none}.legacy-filter-panel:not(.filters-open){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.legacy-filter-panel:not(.filters-open) .legacy-filter-grid{display:block}.legacy-search-control input{background:transparent;border:0;box-shadow:none;border-radius:0}.legacy-search-control:focus-within{outline:2px solid var(--color-blue);outline-offset:2px}.legacy-card-actions{width:100%}.legacy-books-page .legacy-book-card{animation:none}.legacy-books-page .legacy-book-card:hover{transform:none;box-shadow:var(--shadow-card);border-color:var(--color-line)}.legacy-book-card h2 a{display:-webkit-box;min-height:var(--target-size);min-width:var(--target-size);-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.legacy-books-page .legacy-books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.legacy-books-page .legacy-book-card{grid-template-columns:95px minmax(0,1fr);gap:24px;padding:28px;align-items:center}.legacy-books-page .legacy-book-card.is-reading{background:var(--color-soft)}.legacy-books-page .legacy-book-cover{width:95px;height:138px;background:var(--color-peach-soft);color:var(--color-peach);transform:rotate(-4deg);border-radius:3px 8px 8px 3px;box-shadow:6px 8px 14px #303a301a;border-left:7px solid rgb(48 58 48 / .06)}.legacy-book-cover img{width:100%;height:100%;object-fit:cover}.legacy-books-page .legacy-book-card:nth-child(2n) .legacy-book-cover{transform:rotate(4deg);background:var(--color-blue-soft);color:var(--color-blue)}.legacy-book-card h2{font:600 19px/1.35 var(--font-heading)}.legacy-card-title-row{display:block}.legacy-card-state{margin-top:10px}.legacy-book-author{color:var(--color-text-secondary);font-size:13px}.legacy-card-actions{position:static;grid-column:1 / -1;grid-row:2;opacity:1;transform:none;justify-content:flex-end}.legacy-priority-bookmark{display:none}.legacy-rating-stars{color:var(--color-peach)}.legacy-book-card .legacy-book-meta-grid{display:none}.legacy-book-card-body{min-width:0}.book-card-link{display:inline-flex;min-height:44px;align-items:center;color:var(--color-accent);font-size:14px;margin-top:10px}.book-cover-placeholder{font:600 12px/1.5 var(--font-heading);text-align:center;overflow:hidden;padding:12px}.workout-history{padding:0;display:grid;gap:16px;list-style:none}.workout-history-note{white-space:pre-wrap;overflow-wrap:anywhere}.workout-history h3{color:var(--color-accent);font-family:var(--font-heading);font-size:22px}.sport-workout-card-actions{flex-wrap:wrap}.sport-result-scale-options{gap:8px}.sport-result-scale-option{min-height:52px}.sport-result-scale-option.is-selected{background:var(--color-soft);border-color:var(--color-accent);color:var(--color-accent)}.sport-result-comment textarea,.sport-dialog input,.sport-dialog select{font-size:16px}.legacy-status-message{background:var(--color-soft);color:var(--color-ink);text-align:left;box-shadow:var(--shadow-card)}.legacy-status-message p{color:var(--color-text-secondary);font-size:15px}.legacy-status-warning,.legacy-status-danger{background:var(--color-peach-soft)}.book-dialog .form-panel{border:0;box-shadow:none;padding:0;background:transparent}.book-dialog .panel-heading h2{display:none}.design-system-page>.panel{margin-block:24px}.design-examples{display:flex;flex-wrap:wrap;gap:12px}.design-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:12px}.design-swatches i{display:block;height:60px;border:1px solid var(--color-line);border-radius:10px}.design-swatches span{display:block;margin-top:8px;color:var(--color-text-secondary);font-size:12px}@media(max-width:1000px){.sidebar{grid-template-columns:1fr auto;padding:16px 24px;gap:12px}.nav-list{grid-column:1 / -1;grid-row:2;justify-content:stretch}.nav-link{flex:1 1 100px;justify-content:center}.sidebar-footer{grid-column:2;grid-row:1}.home-dashboard-layout{grid-template-columns:minmax(0,1fr)}.legacy-books-page .legacy-book-card{padding:22px;gap:18px;grid-template-columns:80px minmax(0,1fr)}.legacy-books-page .legacy-book-cover{width:80px;height:120px}}@media(max-width:760px){.content{padding:24px 20px 48px}.study-object{grid-template-columns:minmax(0,1fr)}.study-object-tools{flex-direction:row;justify-content:flex-end}.legacy-books-page .legacy-books-grid{grid-template-columns:minmax(0,1fr)}.study-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:560px){.sidebar{padding:14px 16px}.legacy-filter-panel:not(.filters-open){grid-template-columns:minmax(0,1fr)}.nav-link{flex:1 1 0;flex-direction:column;font-size:12px;gap:5px;padding:8px 4px}.content{padding:24px 16px 40px}.study-filter-subjects{grid-template-columns:1fr}.study-object{padding:18px}.study-toolbar{align-items:stretch}.study-calendar-grid{gap:3px}.study-calendar-grid button{min-height:50px;padding:5px 2px}.study-calendar-grid button small{font-size:10px}.date-sticker{width:85px;min-width:85px}.home-page .page-header{flex-direction:row;gap:16px}.home-page .page-actions{width:auto}.home-active-grid{grid-template-columns:1fr}}}@layer editorial{.pwa-notice{max-width:1200px;margin:0 auto 20px;padding:12px 16px;background:var(--color-soft);border:1px solid var(--color-line);border-radius:var(--radius-control);display:flex;flex-wrap:wrap;align-items:center;gap:12px}.pwa-notice>span{display:flex;align-items:center;gap:8px;font-size:14px;flex:1 1 240px}.pwa-notice svg{flex-shrink:0}.pwa-notice>a{min-height:var(--target-size);display:inline-flex;align-items:center;color:var(--color-accent)}.pwa-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.pwa-settings-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;min-width:0}.pwa-settings-card h2{font:400 26px/1.2 var(--font-heading);margin:0}.pwa-settings-card>svg{color:var(--color-accent)}.pwa-settings-card p,.pwa-settings-card ol{margin:0;line-height:1.6;color:var(--color-text-secondary)}.pwa-settings-card ol{padding-left:24px}.pwa-settings-card li+li{margin-top:8px}.pwa-settings-card .pwa-status{font-weight:600;color:var(--color-accent)}.pwa-settings-card small{overflow-wrap:anywhere;color:var(--color-text-secondary)}.pwa-settings-card:last-child{grid-column:1 / -1}.pwa-actions{display:flex;flex-wrap:wrap;gap:10px}.pwa-actions .button{white-space:normal;text-align:center}.pwa-dialog-content{display:grid;gap:16px;line-height:1.6}.pwa-dialog-content>p{margin:0}.pwa-confirm{display:flex;align-items:center;gap:12px;min-height:var(--target-size);cursor:pointer}.pwa-confirm input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--color-accent)}.pwa-feedback{padding:16px;background:var(--color-soft);border-radius:var(--radius-control)}@media(max-width:800px){.pwa-settings-grid{grid-template-columns:minmax(0,1fr)}}@media(display-mode:standalone){.app-shell{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}}}@layer editorial{.med-tracker{padding:24px;margin-bottom:28px;min-width:0}.med-tracker-heading,.med-month-toolbar,.med-month-switch,.med-product-heading,.med-history-heading{display:flex;align-items:center;gap:16px}.med-tracker-heading{justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.med-tracker h2,.med-library-card h2{font:400 28px/1.2 var(--font-heading);margin:6px 0;overflow-wrap:anywhere}.med-tracker-heading p,.med-library-card p,.med-helper{color:var(--color-text-secondary);margin:8px 0;line-height:1.5}.med-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--color-accent)}.med-month-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.med-month-switch{gap:8px}.med-month-switch h3{margin:0;font:400 23px var(--font-heading);text-transform:capitalize;min-width:160px;text-align:center}.med-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.med-actions .button{white-space:normal;text-align:center}.med-month-grid{display:grid;grid-template-columns:166px repeat(var(--med-days),minmax(0,1fr));align-items:stretch}.med-month-head{min-height:36px;font-size:12px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-line)}.med-month-head>span{display:flex;align-items:center;justify-content:center}.med-month-head>span:first-child{justify-content:flex-start}.med-month-row{border-bottom:1px solid var(--color-line)}.med-month-name{min-width:0;padding:8px 10px 8px 0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.med-name-button.button{border:0;box-shadow:none;background:transparent;padding:2px 4px;text-align:left;justify-content:flex-start;width:100%;color:var(--color-ink);font-weight:600;gap:6px;white-space:normal}.med-name-button span{overflow-wrap:anywhere;min-width:0}.med-name-button img{width:28px;height:36px;border-radius:5px;object-fit:cover;flex-shrink:0}.med-name-button.button:hover{background:var(--color-soft)}.med-month-name>.button:not(.med-name-button){padding:8px 12px;font-size:13px}.med-day{min-width:0;display:grid;place-items:center;font-size:12px;color:var(--color-muted);border-left:1px solid var(--color-line)}.med-day-complete{color:var(--color-accent);background:var(--color-soft);font-weight:700}.med-day-partial{color:var(--color-peach);background:var(--color-peach-soft);font-weight:600}.med-day-skipped{color:var(--color-danger);background:var(--color-peach-soft)}.med-day-recorded{color:var(--color-blue);background:var(--color-blue-soft);font-weight:700}.med-month-grid .is-today{box-shadow:inset 1px 0 var(--color-accent),inset -1px 0 var(--color-accent)}.med-month-head .is-today{background:var(--color-accent);color:var(--color-on-accent);border-radius:5px 5px 0 0}.med-day.is-future{color:var(--color-muted)}.med-month-halves{display:none}.med-half-label{font-size:12px;letter-spacing:.08em;color:var(--color-text-secondary);margin:18px 0 6px}.med-legend{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--color-text-secondary);font-size:12px;margin-top:18px}.med-helper{font-size:13px}.med-empty,.med-loading{padding:28px;text-align:center;color:var(--color-text-secondary)}.med-empty>svg{color:var(--color-accent)}.med-empty h3,.med-empty h2{color:var(--color-ink)}.med-notice{background:var(--color-soft);border-radius:var(--radius-control);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:16px}.med-library-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) auto;gap:16px;align-items:end;margin-bottom:16px}.med-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.med-library-card{padding:22px;min-width:0;display:grid;gap:12px;align-content:start}.med-library-card small{color:var(--color-text-secondary);line-height:1.5}.med-product-heading>svg{flex-shrink:0;color:var(--color-accent)}.med-product-heading>div{min-width:0}.med-product-photo{width:64px;height:80px;border-radius:8px;object-fit:contain;background:var(--color-bg);flex-shrink:0}.med-detail-content{display:grid;gap:16px;min-width:0}.med-detail-content p{margin:4px 0;line-height:1.5}.med-detail-content h3{margin:8px 0 0}.med-callout{background:var(--color-soft);padding:14px;border-radius:var(--radius-control);color:var(--color-text-secondary);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.med-entry,.med-planned-slot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-line)}.med-entry>div:first-child,.med-planned-slot>div:first-child{flex:1 1 180px;min-width:0}.med-entry small{color:var(--color-text-secondary)}.med-note{white-space:pre-wrap;overflow-wrap:anywhere}.med-history-heading{justify-content:space-between;flex-wrap:wrap}.med-form{display:grid;gap:18px}.med-form-fields{border:0;margin:0;padding:0;min-width:0;display:grid;gap:18px}.med-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.med-field-wide{grid-column:1 / -1}.med-form :is(input:not([type=checkbox]):not([type=file]),textarea){width:100%;min-width:0;font-size:16px}.med-form input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-accent)}.med-form textarea{min-height:90px;resize:vertical}.med-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.med-slots{display:grid;gap:12px;padding:0;border:0;margin:0;min-width:0}.med-slot-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) auto;gap:10px;align-items:end}.med-weekdays{display:flex;flex-wrap:wrap;gap:8px;padding:0;border:0;margin:0}.med-weekdays legend{margin-bottom:8px}.med-check{min-height:var(--target-size);display:flex;align-items:center;gap:8px;cursor:pointer}.med-weekdays .med-check{padding:4px 8px;border-radius:var(--radius-control);background:var(--color-bg)}.med-photo-picker{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.med-photo-preview{width:80px;height:100px;object-fit:contain;border-radius:8px;background:var(--color-bg)}@media(max-width:1100px){.med-month-full{display:none}.med-month-halves{display:block}}@media(max-width:700px){.med-tracker{padding:16px}.med-month-grid{grid-template-columns:110px repeat(var(--med-days),minmax(0,1fr))}.med-day,.med-month-head{font-size:11px}.med-library,.med-library-toolbar,.med-form-grid{grid-template-columns:minmax(0,1fr)}.med-month-switch h3{font-size:21px;min-width:150px}.med-tracker h2{font-size:26px}}}@layer editorial{.home-arrange-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 16px}.home-arrange-toolbar.is-editing{border:1px solid var(--color-line);border-radius:var(--radius-card);padding:20px;background:var(--color-soft)}.home-arrange-toolbar strong{font:400 24px var(--font-heading)}.home-arrange-toolbar p{margin:8px 0 0;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.home-arrange-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.home-arrange-status{color:var(--color-text-secondary);line-height:1.5;margin:0 0 16px}.home-arrange-status:empty{margin:0}.home-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.home-widget{min-width:0;scroll-margin:24px}.home-widget-expanded{grid-column:1 / -1}.home-widget-content{min-width:0}.home-widget-content>:is(section,aside),.home-widget-content .med-tracker{margin:0}.home-widget .dashboard-sidebar{display:block}.home-widget .dashboard-sidebar-card{min-width:0}.home-widget-content :is(p,strong,h2,h3,a,small){overflow-wrap:anywhere}.home-widget .today-widget-library-link{min-height:var(--target-size);display:inline-flex;align-items:center}.home-widget-grid.is-editing>.home-widget{border:1px dashed var(--color-accent);border-radius:var(--radius-card);padding:10px;background:var(--color-paper)}.home-widget-controls{display:grid;gap:10px;padding:4px 4px 14px}.home-widget-control-heading,.home-widget-control-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-widget-control-heading strong{flex:1;min-width:0;overflow-wrap:anywhere}.home-widget-control-actions .choice-trigger{width:auto;min-width:140px;flex:1}.home-widget-grip{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.home-widget-grip:active{cursor:grabbing}.home-widget-content[inert]{opacity:.72;pointer-events:none;-webkit-user-select:none;user-select:none}.home-widget.is-dragging{opacity:.65}.home-widget-grid.is-editing>.home-widget.is-drop-target{outline:3px solid var(--color-accent);outline-offset:3px}.home-widget.is-drop-target.drop-before{border-top:8px solid var(--color-accent)}.home-widget.is-drop-target.drop-after{border-bottom:8px solid var(--color-accent)}.home-widget-drag-label{position:fixed;z-index:40;pointer-events:none;padding:12px 16px;max-width:228px;border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-card);overflow-wrap:anywhere}.home-widget-catalog{display:grid;gap:8px}.home-widget-catalog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--color-line)}.home-widget-catalog-row>div{min-width:0}.home-widget-catalog-row p,.home-widget-catalog-row small{color:var(--color-text-secondary);line-height:1.5;margin:6px 0}.home-widget-catalog-row .button{min-width:96px;flex-shrink:0}.home-widget-catalog-row .button[aria-checked=true]{background:var(--color-soft);color:var(--color-accent)}.home-layout-message{padding:20px;border-radius:var(--radius-control);background:var(--color-soft);line-height:1.5}.home-layout-empty{padding:32px;text-align:center}.home-layout-empty>svg{color:var(--color-accent)}.home-layout-empty .button{margin:8px}@media(max-width:900px){.home-widget-grid{grid-template-columns:minmax(0,1fr);gap:20px}.home-widget-expanded{grid-column:auto}}@media(max-width:540px){.home-widget-controls{padding:0 0 12px}.home-widget-control-actions{gap:6px}.home-widget-catalog-row{align-items:flex-start;gap:10px}.home-arrange-toolbar.is-editing{padding:16px}}}@layer editorial{.home-widget-compact{min-width:0}.home-widget-compact :is(h2,h3,strong,p,small){overflow-wrap:anywhere}.home-widget-compact :is(.today-panel-header,.today-sport-card__header,.pet-section-heading,.med-tracker-heading),.home-widget-compact.today-study-card>header{flex-wrap:wrap}.home-widget-compact .today-widget-body{padding:20px}.home-widget-compact .today-book-heading{align-items:center;gap:16px}.home-widget-compact .today-book-cover{display:grid;flex:0 0 66px;width:66px;height:92px;transform:rotate(-4deg)}.home-widget-compact .today-book-cover img{width:100%;height:100%;object-fit:cover}.home-widget-compact .today-book-copy{min-width:0}.home-widget-compact .today-book-copy h3{font:400 23px/1.2 var(--font-heading);margin:0 0 8px}.home-widget-compact .today-book-copy p{margin:0}.home-compact-book-progress,.home-widget-caption{margin:8px 0;line-height:1.5;color:var(--color-text-secondary)}.home-widget-compact .today-widget-actions{flex-wrap:wrap}.home-widget-compact .today-widget-actions>a{min-height:var(--target-size);display:inline-flex;align-items:center}.home-widget-compact .today-study-item{flex-wrap:wrap;min-height:var(--target-size)}.home-widget-compact .today-study-item>div{min-width:0}.home-widget-compact .today-sport-card__workout-link{display:flex;flex-wrap:wrap}.home-widget-compact .today-sport-card__workout-copy{min-width:120px;flex:1}.home-widget-compact .pet-list-row{flex-wrap:wrap}.home-widget-compact .pet-list-row>span{min-width:0;flex:1 1 160px}.home-widget-more{margin-top:12px}.home-widget-empty{display:grid;justify-items:start;gap:8px}.home-widget-empty p{color:var(--color-text-secondary);line-height:1.5}.med-today{display:grid;gap:16px;padding:24px}.med-today .med-tracker-heading{margin-bottom:0}.med-today h2{font:400 28px/1.2 var(--font-heading);margin:6px 0}.med-today>.button{justify-self:start}.med-today-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-line)}.med-today-copy{flex:1 1 150px;min-width:0}.med-today-copy p{margin:4px 0;color:var(--color-text-secondary);font-size:14px;line-height:1.5}.med-today-group{font:400 22px/1.25 var(--font-heading);margin:8px 0 0}@media(max-width:700px){.med-today{padding:18px}.home-widget-compact .today-widget-body{padding:16px}}}@layer editorial{.home-statistics{min-width:0;padding:24px;display:flex;flex-direction:column;gap:20px}.home-stat-heading{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.home-stat-heading>div{min-width:0}.home-stat-heading p{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--color-text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.07em}.home-stat-heading h2{margin:0;font:500 clamp(23px,2.2vw,30px) var(--font-heading);overflow-wrap:anywhere}.home-stat-heading>a{min-width:44px;min-height:44px;padding:10px;flex:0 0 auto}.home-stat-numbers{display:flex;flex-wrap:wrap;gap:16px 28px}.home-stat-number{display:grid;gap:5px;min-width:0;flex:1 1 100px}.home-stat-number strong{font:500 clamp(27px,3vw,38px) var(--font-heading);color:var(--color-accent);overflow-wrap:anywhere}.home-stat-number.is-warm strong{color:var(--color-peach)}.home-stat-number span,.home-stat-note,.home-stat-chart figcaption{font-size:13px;color:var(--color-text-secondary);line-height:1.55}.home-stat-note{margin:0}.home-stat-error{margin:0;color:var(--color-danger)}.home-stat-chart{margin:0;min-width:0}.home-stat-bars{display:flex;height:108px;gap:3px}.home-stat-bar{display:flex;flex-direction:column;flex:1;min-width:0;gap:5px}.home-stat-bar-track{display:flex;align-items:flex-end;flex:1;min-height:0;border-bottom:1px solid var(--color-line);background:var(--color-bg);border-radius:4px 4px 0 0}.home-stat-bar-track span{display:block;width:100%;background:var(--color-accent);border-radius:4px 4px 0 0}.home-stat-bar small{height:16px;font-size:11px;text-align:center;color:var(--color-text-secondary)}.home-stat-bar[data-future=true] .home-stat-bar-track{background:var(--color-paper)}.home-stat-chart figcaption{margin-top:8px}.home-stat-chart.is-compact .home-stat-bars{height:72px}.home-stat-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-stat-filter{display:grid;gap:6px;min-width:0}.home-stat-filter>span{font-size:13px;color:var(--color-text-secondary)}.home-stat-filter .choice-trigger{width:100%;min-width:0;min-height:44px;font-size:16px}.home-stat-period{display:flex;gap:8px;flex-wrap:wrap}.home-stat-period button[aria-pressed=true]{background:var(--color-soft);border-color:var(--color-accent);color:var(--color-accent)}.home-stat-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.home-stat-weekday{font-size:12px;color:var(--color-text-secondary);text-align:center}.home-stat-calendar-day{min-height:46px;padding:6px 3px;display:grid;grid-template-columns:1fr;gap:2px;justify-items:center;border-radius:8px;background:var(--color-bg);color:var(--color-ink)}.home-stat-calendar-day>span{font-size:11px}.home-stat-calendar-day>strong{font-size:13px}.home-stat-calendar-day[data-level="1"]{background:var(--color-soft)}.home-stat-calendar-day[data-level="2"]{background:var(--color-blue-soft)}.home-stat-calendar-day[data-level="3"]{background:var(--color-accent);color:var(--color-on-accent)}.home-stat-calendar-day[aria-current=date]{outline:1px solid var(--color-accent);outline-offset:1px}.home-stat-calendar-day[data-future=true]{background:var(--color-paper);color:var(--color-text-secondary)}.home-stat-units,.home-stat-ratings{display:flex;flex-wrap:wrap;gap:12px}.home-stat-units span{border:1px solid var(--color-line);border-radius:var(--radius-control);padding:7px 10px;font-size:13px}.home-stat-ratings>span{flex:1 1 130px;display:grid;gap:4px;font-size:13px;color:var(--color-text-secondary)}.home-stat-ratings strong{font:500 23px var(--font-heading);color:var(--color-ink)}.home-stat-ratings small{font-size:12px}.home-stat-books{display:flex;gap:15px;flex-wrap:wrap;padding:8px 3px}.home-stat-books>a{display:grid;gap:10px;color:var(--color-ink);width:78px;min-height:44px;font-size:11px;text-decoration:none}.home-stat-books>a>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.home-stat-cover{aspect-ratio:2 / 3;min-width:0;border-radius:3px 7px 7px 3px;background:var(--color-soft);color:var(--color-accent);box-shadow:var(--shadow-card);border-left:4px solid var(--color-line);transform:rotate(-5deg);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;gap:7px}.home-stat-books>a:nth-child(2n) .home-stat-cover{transform:rotate(4deg);background:var(--color-peach-soft);color:var(--color-peach)}.home-stat-cover img{display:block;width:100%;height:100%;object-fit:cover}.home-stat-cover>span{max-width:100%;max-height:65px;overflow:hidden;padding:0 7px;text-align:center;overflow-wrap:anywhere;font:12px var(--font-heading)}.home-stat-intake-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.home-stat-intake-numbers>div{padding:12px 8px;border-radius:var(--radius-control);display:grid;gap:6px}.home-stat-intake-numbers strong{font:500 29px var(--font-heading)}.home-stat-intake-numbers span{font-size:12px;overflow-wrap:anywhere}.home-stat-intake-complete{background:var(--color-soft);color:var(--color-accent)}.home-stat-intake-partial{background:var(--color-blue-soft);color:var(--color-ink)}.home-stat-intake-skipped{background:var(--color-peach-soft);color:var(--color-peach)}.home-stat-intake-unmarked{background:var(--color-bg);color:var(--color-text-secondary)}.home-stat-intake-bar{display:flex;gap:3px;height:13px;border:1px solid var(--color-line);border-radius:7px;overflow:hidden}.home-stat-intake-bar>span{flex:1 1 0;min-width:4px}.home-stat-intake-bar .home-stat-intake-complete{background:var(--color-accent)}.home-stat-intake-bar .home-stat-intake-partial{background:var(--color-blue)}.home-stat-intake-bar .home-stat-intake-skipped{background:var(--color-peach)}.home-stat-extra{padding:12px;margin:0;border:1px solid var(--color-line);border-radius:var(--radius-control);font-size:13px;line-height:1.5}.home-statistics.is-compact{gap:16px}@media(max-width:600px){.home-statistics{padding:18px}.home-stat-filters{grid-template-columns:1fr}.home-stat-intake-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.home-stat-bars{gap:2px}}}@layer editorial{.home-mosaic .page-header{margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--color-line)}.home-mosaic .page-header .page-header-eyebrow{margin:0 0 10px;font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}.home-mosaic .page-header h1{margin:0}.home-mosaic .page-header p:last-child{margin-top:10px}.home-mosaic .page-actions{display:flex;align-items:center;gap:24px;flex-wrap:nowrap}.home-mosaic .date-sticker{width:88px;min-width:88px;padding:14px 8px 10px}.home-mosaic .date-sticker:before{left:24px;width:36px}.home-mosaic .home-widget-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;align-items:stretch}.home-mosaic .home-widget{grid-column:span 3;min-width:0}.home-mosaic .home-widget-expanded{grid-column:1 / -1}.home-mosaic .home-widget-content{height:100%}.home-mosaic .home-widget-content>:is(section,aside):only-child{height:100%}.home-mosaic-card{min-width:0;padding:24px;border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:var(--color-paper)}.home-mosaic-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.home-mosaic-eyebrow{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:12px;line-height:1.5;margin:0}.home-mosaic-eyebrow svg{flex-shrink:0}.home-mosaic-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-mosaic-actions>p{color:var(--color-text-secondary);font-size:13px;line-height:1.5;margin:0}.home-mosaic :is(.home-reading-card,.home-study-card,.home-pets-card,.home-sport-card) h2:not(.home-mosaic-eyebrow){font:400 26px/1.22 var(--font-heading)}.home-mosaic .home-mosaic-eyebrow{font:400 12px/1.5 var(--font-body)}.home-mosaic :is(.home-reading-card,.home-study-card,.home-pets-card,.home-sport-card) h3{font:400 clamp(24px,2.5vw,30px)/1.2 var(--font-heading)}.home-mosaic .med-tracker{padding:24px;container-type:inline-size}.home-mosaic .med-tracker-heading p{font-size:13px}.home-mosaic .med-month-grid{gap:3px;align-items:center;border-bottom:0}.home-mosaic .med-month-row{margin-top:5px}.home-mosaic .med-day{border:0;min-height:34px;border-radius:5px;background:var(--color-bg)}.home-mosaic .med-day-complete{background:var(--color-soft)}.home-mosaic :is(.med-day-skipped,.med-day-partial){background:var(--color-peach-soft)}.home-mosaic .med-day-recorded{background:var(--color-blue-soft)}.home-mosaic .med-day.is-future{background:var(--color-paper);color:var(--color-muted)}.home-mosaic .med-month-head{border-bottom:0}.home-mosaic .med-month-head>span{min-height:28px}.home-mosaic .med-month-head .is-today{border-radius:5px}.home-mosaic .med-month-name{padding-block:5px}.home-mosaic .med-legend{padding-top:14px;border-top:1px solid var(--color-line)}.home-mosaic .home-widget-compact:is([data-home-widget=booksStats],[data-home-widget=studyStats],[data-home-widget=sportStats]){grid-column:span 2}.home-mosaic .home-statistics.is-compact{padding:20px;gap:14px}.home-mosaic .home-statistics.is-compact .home-stat-heading{gap:8px}.home-mosaic .home-statistics.is-compact .home-stat-heading h2{font-size:22px;line-height:1.2}.home-mosaic .home-statistics.is-compact .home-stat-heading p{font-size:11px;gap:5px}.home-mosaic .home-statistics.is-compact .home-stat-number strong{color:var(--color-ink);font-size:32px;line-height:1.2}.home-mosaic .home-statistics.is-compact .home-stat-number{flex-basis:auto}.home-mosaic .home-statistics.is-compact .home-stat-chart{margin-top:auto}.home-mosaic .home-statistics.is-compact .home-stat-bars{height:55px;gap:2px}.home-mosaic .home-stat-bar small{white-space:nowrap;overflow-wrap:normal;line-height:16px;align-self:center}.home-mosaic .home-statistics.is-compact .home-stat-chart figcaption{font-size:11px}.home-mosaic .home-statistics.is-compact .home-stat-note{font-size:12px}.home-mosaic .home-planned-modules{margin-top:24px}.home-mosaic .home-widget-grid.is-editing .home-widget-content{height:auto}.home-mosaic .home-widget-grid.is-editing>.home-widget-compact{grid-column:span 3}@container (max-width: 830px){.home-mosaic .med-month-full{display:none}.home-mosaic .med-month-halves{display:block}}@media(max-width:1000px){.home-mosaic .home-widget-grid{gap:16px}.home-mosaic-card{padding:20px}.home-mosaic .page-actions{gap:16px}.home-mosaic .home-statistics.is-compact .home-stat-number strong{font-size:26px}}@media(max-width:760px){.home-mosaic .home-statistics.is-compact{padding:16px}.home-mosaic .home-statistics.is-compact .home-stat-heading{flex-wrap:wrap}.home-mosaic .home-statistics.is-compact .home-stat-heading h2{font-size:21px}.home-mosaic .home-statistics.is-compact .home-stat-heading>a{margin-left:auto}.home-mosaic .page-header{flex-direction:row;align-items:center;gap:16px}.home-mosaic .page-actions{width:auto;flex-direction:column-reverse;gap:14px;flex-shrink:0}.home-mosaic .page-actions .button{max-width:165px;font-size:13px}}@media(max-width:660px){.home-mosaic .home-widget-grid{grid-template-columns:minmax(0,1fr)}.home-mosaic .home-widget-grid>.home-widget{grid-column:1 / -1}.home-mosaic .home-widget-grid.is-editing>.home-widget-compact{grid-column:1 / -1}.home-mosaic .home-statistics.is-compact .home-stat-heading{flex-wrap:nowrap}.home-mosaic .home-statistics.is-compact{padding:20px}.home-mosaic .med-tracker{padding:18px}.home-mosaic .med-month-grid{gap:2px}.home-mosaic .date-sticker{width:75px;min-width:75px}.home-mosaic .date-sticker:before{left:18px}.home-mosaic .date-sticker strong{font-size:36px}}}
