:root{color:oklch(19% .025 270);font-synthesis:none;text-rendering:optimizelegibility;font-kerning:normal;--bg:oklch(100% 0 0);--surface:oklch(96.5% .006 270);--surface-strong:oklch(93.5% .012 270);--ink:oklch(19% .025 270);--muted:oklch(44% .025 270);--line:oklch(89% .012 270);--primary:oklch(36% .219 270);--primary-hover:oklch(31% .205 270);--primary-soft:oklch(94% .035 270);--accent:oklch(68% .19 28);--accent-strong:oklch(43% .17 28);--accent-soft:oklch(95% .035 28);--success:oklch(50% .14 155);--success-soft:oklch(94% .035 155);--warning:oklch(68% .14 75);--danger:oklch(52% .2 25);--white:oklch(100% 0 0);--radius-sm:8px;--radius:10px;--radius-lg:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--text-caption:.75rem;--text-meta:.875rem;--text-body:1rem;--text-item:1.125rem;--text-section:1.25rem;--text-page:1.75rem;--text-display:2.25rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--z-sticky:20;--z-scrim:30;--z-drawer:40;--z-toast:60;background:oklch(100% 0 0);font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;font-size:var(--text-body);margin:0;line-height:1.5}button,input,textarea{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid oklch(74% .14 270)}label:has(input:focus-visible){outline-offset:2px;outline:3px solid oklch(74% .14 270)}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);min-height:44px;padding:0 var(--space-4);font-weight:600;font-size:var(--text-meta);cursor:pointer;transition:background .18s var(--ease-out), color .18s var(--ease-out), transform .18s var(--ease-out);border:0;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.45}.button--primary{color:var(--white);background:var(--primary)}.button--primary:hover:not(:disabled){background:var(--primary-hover)}.button--secondary{color:var(--ink);background:var(--surface-strong)}.button--secondary:hover:not(:disabled){background:oklch(90% .02 270)}.button--ghost{color:var(--primary);background:0 0}.button--ghost:hover{background:var(--primary-soft)}.button--wide{width:100%}.text-button,.back-link{min-height:44px;color:var(--primary);font-size:var(--text-meta);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.icon-button{border-radius:var(--radius);cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:inline-grid;position:relative}.icon-button:hover{background:var(--surface)}.brand-lockup{align-items:center;gap:var(--space-3);letter-spacing:-.02em;font-weight:800;display:flex}.brand-mark{width:32px;height:32px;color:var(--white);background:var(--primary);border-radius:9px 9px 9px 3px;place-items:center;font-size:1rem;line-height:1;display:grid}.brand-lockup--light .brand-mark{color:var(--primary);background:var(--white)}.welcome{background:var(--bg);min-height:100vh;display:grid}.welcome-brand{gap:var(--space-8);min-height:52vh;padding:max(var(--space-6), env(safe-area-inset-top)) var(--space-6) var(--space-8);color:var(--white);background:var(--primary);flex-direction:column;display:flex;position:relative;overflow:hidden}.welcome-brand:after{content:"";border:36px solid oklch(72% .13 270/.25);border-radius:50%;width:280px;height:280px;position:absolute;bottom:-110px;right:-150px}.welcome-copy{z-index:1;max-width:630px;position:relative}.welcome-kicker,.step-label{margin-bottom:var(--space-3);font-size:.875rem;font-weight:700}.welcome-kicker{color:oklch(86% .07 270)}.welcome-copy h1{letter-spacing:-.035em;font-size:2.25rem;line-height:1.2}.welcome-copy>p:last-child{max-width:42ch;margin-top:var(--space-4);color:oklch(90% .035 270);line-height:1.65}.quote-sheet{z-index:1;width:min(100%,390px);padding:var(--space-6);border-radius:var(--radius-lg);color:var(--ink);background:var(--white);align-self:flex-end;position:relative;box-shadow:0 8px oklch(20% .08 270/.28)}.quote-sheet__meta,.quote-sheet__footer{justify-content:space-between;gap:var(--space-4);color:var(--muted);font-size:.78rem;font-weight:700;display:flex}.quote-sheet blockquote{margin:var(--space-6) 0 var(--space-3);letter-spacing:-.02em;font-size:1.2rem;font-weight:800;line-height:1.5}.quote-sheet>p{color:var(--muted);font-size:.9rem;line-height:1.6}.quote-sheet__footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);justify-content:flex-start}.quote-sheet__footer span{align-items:center;gap:var(--space-1);display:inline-flex}.welcome-action{padding:var(--space-8) var(--space-6) max(var(--space-8), env(safe-area-inset-bottom));place-items:center;display:grid}.welcome-action__inner{gap:var(--space-8);flex-direction:column;width:min(100%,430px);display:flex}.welcome-action h2,.login-form h2{letter-spacing:-.025em;font-size:1.75rem}.welcome-action p{margin-top:var(--space-3);color:var(--muted);line-height:1.6}.step-label{color:var(--primary)!important}.auth-actions{gap:var(--space-3);display:grid}.auth-footnote{font-size:.78rem}.login-form{gap:var(--space-6);display:grid}.login-form label,.page-field,.textarea-field{gap:var(--space-2);color:var(--ink);font-size:.875rem;font-weight:700;display:grid}.login-form input,.page-field input,.textarea-field textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:46px;padding:0 var(--space-3);color:var(--ink);background:var(--bg)}.textarea-field textarea{min-height:132px;padding:var(--space-3);resize:vertical;line-height:1.6}.login-form input::placeholder,.page-field input::placeholder,.textarea-field textarea::placeholder{color:oklch(48% .015 270)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:var(--bg);min-height:100vh}.sidebar{gap:var(--space-6);width:264px;height:100vh;z-index:var(--z-drawer);padding:var(--space-6) var(--space-4);border-right:1px solid var(--line);background:var(--surface);visibility:hidden;pointer-events:none;transition:transform .22s var(--ease-out), visibility 0s linear .22s;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar--open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.club-switcher,.profile-row{align-items:center;gap:var(--space-3);border-radius:var(--radius);width:100%;min-height:56px;padding:var(--space-2);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;display:grid}.club-switcher:hover,.profile-row:hover{background:var(--surface-strong)}.club-avatar{border-radius:var(--radius);width:38px;height:38px;color:var(--white);background:var(--ink);place-items:center;font-weight:800;display:grid}.club-switcher span,.profile-row span,.sync-note span{gap:var(--space-1);min-width:0;display:grid}.club-switcher strong,.profile-row strong,.sync-note strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.club-switcher small,.profile-row small,.sync-note small{color:var(--muted);font-size:.72rem}.side-nav{gap:var(--space-1);display:grid}.side-nav button{align-items:center;gap:var(--space-3);border-radius:var(--radius);min-height:46px;padding:0 var(--space-3);color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.9rem;font-weight:700;display:flex;position:relative}.side-nav button:hover{color:var(--ink);background:var(--surface-strong)}.side-nav button.is-active{color:var(--primary);background:var(--primary-soft)}.nav-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-left:auto}.sidebar-footer{gap:var(--space-3);margin-top:auto;display:grid}.sync-note{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--bg);display:flex}.status-dot{background:var(--warning);border-radius:50%;flex:none;width:9px;height:9px}.person-avatar{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;font-size:.82rem;font-weight:800;display:grid!important}.person-avatar--small{width:32px;height:32px;font-size:.72rem}.nav-scrim{z-index:var(--z-scrim);background:oklch(12% .02 270/.48);border:0;position:fixed;inset:0}.main-area{min-width:0;min-height:100vh;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.topbar{align-items:center;gap:var(--space-2);min-height:70px;z-index:var(--z-sticky);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);background:oklch(100% 0 0/.96);display:flex;position:sticky;top:0}.topbar>div:nth-child(2){min-width:0}.topbar h1{font-size:var(--text-item);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-context{color:var(--muted);font-size:var(--text-caption);display:none}.topbar-actions{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.notification-badge{border:2px solid var(--white);min-width:17px;height:17px;color:var(--white);background:var(--accent-strong);border-radius:999px;place-items:center;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:4px;right:3px}.invite-button{min-width:44px;padding:0 var(--space-3)}.content-wrap{width:min(100%,1180px);padding:var(--space-6) var(--space-4) var(--space-12);margin:0 auto}.page-stack{gap:var(--space-8);display:grid}.current-cycle{gap:var(--space-6);padding:var(--space-6);border-radius:var(--radius-lg);color:var(--white);background:var(--ink);display:grid;position:relative;overflow:hidden}.current-cycle:after{content:"";border:28px solid oklch(65% .13 270/.16);border-radius:50%;width:180px;height:180px;position:absolute;top:-88px;right:-86px}.book-cover{aspect-ratio:.68;border-radius:var(--radius);width:134px;padding:var(--space-4);flex-direction:column;flex:none;justify-content:center;display:flex;position:relative;overflow:hidden;box-shadow:4px 6px oklch(12% .02 270/.25)}.book-cover--compact{width:78px;padding:var(--space-3)}.book-cover--violet{color:var(--white);background:var(--primary)}.book-cover--coral{color:var(--white);background:oklch(58% .17 28)}.book-cover--ink{color:var(--white);background:oklch(22% .04 250)}.book-cover__line{width:34px;height:3px;top:var(--space-4);left:var(--space-4);opacity:.55;background:currentColor;position:absolute}.book-cover strong{letter-spacing:-.04em;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.book-cover--compact strong{font-size:.9rem}.book-cover small{margin-top:var(--space-2);opacity:.85;font-size:.72rem}.book-cover__publisher{right:var(--space-3);bottom:var(--space-3);letter-spacing:.08em;opacity:.65;font-size:.55rem;font-weight:800;position:absolute}.current-cycle__content{gap:var(--space-6);z-index:1;flex-direction:column;min-width:0;display:flex;position:relative}.status-pill,.confirmed-badge,.deadline{align-items:center;gap:var(--space-2);width:fit-content;min-height:28px;padding:0 var(--space-3);color:var(--primary);background:var(--primary-soft);font-size:var(--text-caption);border-radius:999px;font-weight:800;display:inline-flex}.status-pill--accent{color:oklch(38% .16 28);background:var(--accent-soft)}.current-cycle__content h2{letter-spacing:-.035em;font-size:2rem}.current-cycle__content>div>p{margin-top:var(--space-1);color:oklch(78% .03 270);font-size:.86rem}.reading-progress{gap:var(--space-2);display:grid}.reading-progress__labels{justify-content:space-between;gap:var(--space-4);color:oklch(78% .03 270);font-size:.75rem;display:flex}.reading-progress__labels strong{color:var(--white)}.progress-track{background:oklch(42% .035 270);border-radius:999px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.inline-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.current-cycle .button--primary{color:var(--ink);background:var(--white)}.current-cycle .button--primary:hover{background:oklch(93% .01 270)}.current-cycle .button--ghost{color:oklch(88% .04 270)}.meeting-summary{align-items:center;gap:var(--space-3);z-index:1;padding-top:var(--space-4);border-top:1px solid oklch(42% .035 270);grid-template-columns:auto 1fr;display:grid;position:relative}.meeting-summary__day{border-radius:var(--radius);width:46px;height:46px;color:var(--ink);background:var(--white);place-items:center;font-size:1.15rem;font-weight:800;display:grid}.meeting-summary div{gap:var(--space-1);display:grid}.meeting-summary strong{font-size:.86rem}.meeting-summary div span{color:oklch(78% .03 270);font-size:.75rem}.confirmed-badge{color:oklch(92% .04 155);background:oklch(46% .09 155);grid-column:2}.home-columns,.archive-layout{gap:var(--space-6);display:grid}.section-block,.poll-panel,.composer,.record-header,.next-book-hero{border-radius:var(--radius-lg);background:var(--surface)}.section-block{padding:var(--space-6)}.section-heading,.page-intro,.poll-panel__heading,.composer__header,.archive-intro,.recommendation-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.section-heading h2{font-size:var(--text-section);letter-spacing:-.02em}.page-intro h2{font-size:var(--text-page);letter-spacing:-.025em}.section-heading p,.poll-panel__heading p,.composer__header p{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-meta);line-height:1.5}.page-intro p{max-width:65ch;margin-top:var(--space-1);color:var(--muted);font-size:var(--text-body);line-height:1.6}.completion-ring{border:4px solid var(--primary);width:42px;height:42px;color:var(--primary);background:var(--bg);border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;display:grid}.task-list,.compact-note-list{margin-top:var(--space-4)}.task-row{align-items:center;gap:var(--space-3);border:0;border-top:1px solid var(--line);width:100%;min-height:66px;padding:var(--space-3) 0;text-align:left;background:0 0;grid-template-columns:auto 1fr auto;display:grid}.task-row:first-child{border-top:0}.task-row:not(:disabled){cursor:pointer}.task-row:not(:disabled):hover strong{color:var(--primary)}.task-row span:nth-child(2){gap:var(--space-1);display:grid}.task-row strong{font-size:var(--text-body)}.task-row small{color:var(--muted);font-size:var(--text-meta)}.task-icon{width:38px;height:38px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.task-icon--done{color:var(--success);background:var(--success-soft)}.compact-note{gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;display:grid}.compact-note:first-child{border-top:0}.compact-note>div{min-width:0}.compact-note>div>p:first-child{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.compact-note strong{font-size:.82rem}.compact-note p span{color:var(--primary);font-size:.7rem;font-weight:700}.compact-note>div>p:last-child{color:var(--muted);font-size:var(--text-meta);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.comment-count{align-items:center;gap:var(--space-1);color:var(--muted);align-self:center;font-size:.72rem;display:inline-flex}.page-intro{align-items:flex-end}.composer{padding:var(--space-6);border:2px solid var(--primary);background:var(--bg)}.composer__header h3,.poll-panel__heading h3{font-size:1.05rem}.composer__controls{gap:var(--space-4);margin-top:var(--space-6);display:grid}.page-field{max-width:150px}.segmented-control{align-items:end;gap:var(--space-1);border:0;min-width:0;margin:0;padding:0;display:flex}.segmented-control legend{width:100%;margin-bottom:var(--space-2);font-size:.875rem;font-weight:700}.segmented-control button{border-radius:var(--radius);background:var(--surface);cursor:pointer;border:0;min-width:64px;min-height:46px;font-size:.84rem;font-weight:700}.segmented-control button.is-selected{color:var(--white);background:var(--primary)}.textarea-field{margin-top:var(--space-4)}.composer__footer{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.file-button{cursor:pointer}.file-button input,.upload-zone input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.attached-file{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--primary-soft);color:var(--primary);font-size:.8rem;font-weight:700;display:flex}.attached-file span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attached-file button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;margin-left:auto;display:grid}.filter-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-chip{min-height:38px;padding:0 var(--space-4);color:var(--muted);background:var(--surface);cursor:pointer;border:0;border-radius:999px;font-size:.8rem;font-weight:700}.filter-chip.is-active{color:var(--white);background:var(--ink)}.filter-search{margin-left:auto}.note-feed{gap:var(--space-4);max-width:780px;display:grid}.note-entry{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg)}.note-entry header{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto auto;display:grid}.note-entry header>div{gap:var(--space-1);display:grid}.note-entry header strong{font-size:.86rem}.note-entry header span{color:var(--muted);font-size:.72rem}.note-kind{min-height:28px;padding:0 var(--space-3);background:var(--primary-soft);border-radius:999px;align-items:center;display:inline-flex;color:var(--primary)!important;font-weight:800!important}.note-kind--질문{background:var(--accent-soft);color:oklch(41% .14 28)!important}.note-body{max-width:65ch;margin:var(--space-6) 0;font-size:1rem;line-height:1.75}.note-entry footer{align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);display:flex}.note-entry footer button{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:40px;padding:0 var(--space-3);color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.78rem;font-weight:700;display:inline-flex}.note-entry footer button:hover{background:var(--surface)}.note-entry footer button.is-liked{color:var(--accent-strong)}.deadline{color:oklch(38% .14 28);background:var(--accent-soft)}.tab-list{gap:var(--space-1);border-bottom:1px solid var(--line);display:flex}.tab-list button{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.86rem;font-weight:700;display:inline-flex;position:relative}.tab-list button.is-active{color:var(--primary)}.tab-list button.is-active:after{content:"";height:3px;inset:auto var(--space-3) -1px;background:var(--primary);border-radius:999px 999px 0 0;position:absolute}.poll-panel{width:min(100%,860px);padding:var(--space-6);background:0 0}.poll-options{gap:var(--space-3);margin-top:var(--space-6);display:grid}.poll-option{align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);min-height:78px;padding:var(--space-3) var(--space-4);text-align:left;background:var(--bg);cursor:pointer;transition:border-color .18s var(--ease-out), background .18s var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid;position:relative}.poll-option:hover{border-color:oklch(65% .1 270)}.poll-option.is-voted{border:2px solid var(--primary);padding:calc(var(--space-3) - 1px) calc(var(--space-4) - 1px);background:var(--primary-soft)}.vote-check{border:2px solid var(--line);width:28px;height:28px;color:var(--white);background:var(--bg);border-radius:50%;place-items:center;display:grid}.is-voted .vote-check{border-color:var(--primary);background:var(--primary)}.poll-copy{gap:var(--space-1);min-width:0;display:grid}.poll-copy strong{font-size:var(--text-body)}.poll-copy small{color:var(--muted);font-size:var(--text-meta)}.voter-stack{padding-left:8px;display:flex}.voter-stack span{border:2px solid var(--bg);width:28px;height:28px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;margin-left:-8px;font-size:.68rem;font-weight:800;display:grid}.vote-total{text-align:right;min-width:34px;color:var(--primary);font-size:.85rem;font-weight:800}.leading-label{top:-10px;right:var(--space-4);padding:var(--space-1) var(--space-2);color:var(--white);background:var(--accent-strong);border-radius:999px;font-size:.62rem;font-weight:800;position:absolute}.poll-footer{gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.poll-footer p{align-items:center;gap:var(--space-2);color:var(--muted);font-size:.78rem;display:flex}.poll-footer>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.next-book-hero{gap:var(--space-6);padding:var(--space-8) var(--space-6);background:var(--primary-soft);flex-direction:column;display:flex}.next-book-hero h2{margin-top:var(--space-4);letter-spacing:-.035em;font-size:1.75rem;line-height:1.3}.next-book-hero p{max-width:55ch;margin-top:var(--space-3);color:var(--muted);line-height:1.6}.vote-summary{min-width:150px;padding:var(--space-6);border-radius:var(--radius);color:var(--white);background:var(--primary);align-content:center;display:grid}.vote-summary strong{font-size:2rem}.vote-summary span{margin-top:var(--space-1);font-weight:700}.vote-summary small{margin-top:var(--space-3);color:oklch(86% .05 270)}.recommendation-toolbar{align-items:flex-start}.book-candidate-list{gap:var(--space-3);display:grid}.book-candidate{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);grid-template-columns:auto minmax(0,1fr);display:grid;position:relative}.book-candidate.is-selected{border:2px solid var(--primary);padding:calc(var(--space-4) - 1px)}.same-book-cover{aspect-ratio:.68;justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius);width:78px;color:var(--primary);background:var(--primary-soft);flex-direction:column;display:flex}.same-book-cover span{margin-top:var(--space-1);font-size:.8rem;font-weight:800}.same-book-cover small{font-size:.66rem}.book-candidate__copy{align-self:center;min-width:0}.candidate-type{color:var(--primary);font-size:.7rem;font-weight:800}.book-candidate h3{margin-top:var(--space-1);font-size:var(--text-item);letter-spacing:-.015em}.candidate-author{font-weight:700;margin-top:var(--space-1)!important;color:var(--ink)!important;font-size:var(--text-meta)!important}.book-candidate__copy p{max-width:65ch;margin-top:var(--space-2);color:var(--muted);font-size:var(--text-body);line-height:1.6}.candidate-vote{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);grid-column:1/-1;display:flex}.candidate-vote strong{color:var(--primary);font-size:.88rem}.recommendation-note{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);color:var(--primary);background:var(--primary-soft);display:flex}.recommendation-note strong{font-size:.86rem}.recommendation-note p{max-width:65ch;margin-top:var(--space-1);color:var(--muted);font-size:var(--text-body);line-height:1.6}.record-header{align-items:center;gap:var(--space-4);padding:var(--space-6);grid-template-columns:auto 1fr;display:grid}.record-header h3{margin-top:var(--space-3);font-size:1.1rem}.record-header p{margin-top:var(--space-2);color:var(--muted);font-size:.78rem}.record-header>.button{grid-column:1/-1}.meeting-timeline{display:grid}.timeline-item{gap:var(--space-4);padding-bottom:var(--space-8);grid-template-columns:auto minmax(0,1fr);display:grid;position:relative}.timeline-item:before{content:"";background:var(--line);width:1px;position:absolute;top:42px;bottom:0;left:20px}.timeline-item:last-child:before{display:none}.timeline-icon{z-index:1;width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid;position:relative}.timeline-content{min-width:0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface)}.timeline-content header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.timeline-content h3{font-size:.98rem}.timeline-content header span,.timeline-content>p{max-width:65ch;color:var(--muted);font-size:var(--text-meta);line-height:1.6}.empty-action{gap:var(--space-3);display:grid}.empty-action>span{border-radius:var(--radius);width:42px;height:42px;color:var(--muted);background:var(--bg);place-items:center;display:grid}.empty-action strong{font-size:.84rem}.empty-action p{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-meta);line-height:1.5}.upload-zone{justify-content:center;align-items:center;gap:var(--space-3);border-radius:var(--radius);min-height:112px;padding:var(--space-4);color:var(--primary);background:var(--bg);cursor:pointer;border:1px dashed oklch(70% .06 270);display:flex}.upload-zone span{gap:var(--space-1);display:grid}.upload-zone strong{font-size:.82rem}.upload-zone small{color:var(--muted);font-size:.72rem}.photo-file-list{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.photo-file-list span{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:.72rem;font-weight:700;display:inline-flex}.pdf-preview{align-content:start;justify-items:center;gap:var(--space-3);display:grid}.pdf-preview>p{color:var(--muted);font-size:.75rem}.pdf-paper{aspect-ratio:.707;width:min(100%,290px);padding:var(--space-6);color:var(--white);background:var(--primary);flex-direction:column;justify-content:space-between;display:flex;box-shadow:5px 7px oklch(18% .035 270/.18)}.pdf-paper__top{justify-content:space-between;gap:var(--space-3);letter-spacing:.06em;font-size:.58rem;font-weight:800;display:flex}.pdf-paper__title{gap:var(--space-2);display:grid}.pdf-paper__title small{color:oklch(86% .05 270);font-size:.68rem}.pdf-paper__title strong{letter-spacing:-.04em;font-size:2.1rem}.pdf-paper__title span{font-size:.82rem}.pdf-paper__quote{padding-top:var(--space-4);border-top:1px solid oklch(78% .08 270/.45);font-size:.8rem;font-weight:700;line-height:1.7}.pdf-paper__footer{color:oklch(82% .06 270);letter-spacing:.08em;font-size:.5rem}.mobile-nav{min-height:calc(72px + env(safe-area-inset-bottom));z-index:var(--z-sticky);padding:var(--space-1) max(var(--space-1), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--space-1), env(safe-area-inset-left));border-top:1px solid var(--line);background:oklch(100% 0 0/.97);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);min-width:0;min-height:64px;color:var(--muted);font-size:var(--text-caption);cursor:pointer;background:0 0;border:0;flex-direction:column;font-weight:600;display:flex}.mobile-nav button.is-active{color:var(--primary)}.toast{align-items:center;gap:var(--space-2);min-height:48px;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:var(--z-toast);padding:var(--space-3) var(--space-4);border-radius:var(--radius);color:var(--white);background:var(--ink);opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);font-size:.82rem;font-weight:700;display:flex;position:fixed;transform:translate(-50%,10px)}.toast--visible{opacity:1;transform:translate(-50%)}@media (width>=640px){.content-wrap{padding:var(--space-8) var(--space-6) var(--space-12)}.current-cycle{grid-template-columns:auto 1fr;align-items:center}.meeting-summary{grid-column:1/-1}.confirmed-badge{grid-column:auto;margin-left:auto}.composer__controls{grid-template-columns:150px minmax(0,1fr)}.poll-footer{flex-direction:row;justify-content:space-between;align-items:center}.next-book-hero{flex-direction:row;justify-content:space-between;align-items:stretch}.book-candidate{padding:var(--space-4) var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.book-candidate.is-selected{padding:calc(var(--space-4) - 1px) calc(var(--space-6) - 1px)}.candidate-vote{border-top:0;border-left:1px solid var(--line);min-width:126px;padding:var(--space-2) 0 var(--space-2) var(--space-6);text-align:center;flex-direction:column;grid-column:auto;align-items:stretch}.record-header{grid-template-columns:auto 1fr auto}.record-header>.button{grid-column:auto}.empty-action{grid-template-columns:auto 1fr auto;align-items:center}}@media (width>=900px){.welcome{grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr)}.welcome-brand{min-height:100vh;padding:var(--space-8) clamp(32px, 6vw, 64px) var(--space-12);justify-content:space-between}.welcome-copy h1{font-size:3.25rem}.quote-sheet{margin-right:4vw}.sidebar{visibility:visible;pointer-events:auto;transform:none}.nav-scrim,.mobile-nav,.mobile-menu{display:none}.main-area{margin-left:264px;padding-bottom:0}.topbar{min-height:78px;padding:0 var(--space-8)}.topbar-context{display:block}.topbar h1{margin-top:var(--space-1);font-size:var(--text-section)}}@media (width>=900px) and (width<=1179px){.page-intro,.archive-intro,.recommendation-toolbar{flex-direction:column;align-items:stretch}.page-intro .button,.archive-intro .button,.recommendation-toolbar>.button{width:100%}}@media (width>=1180px){.home-columns{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr)}.current-cycle{padding:var(--space-8);grid-template-columns:auto minmax(280px,1fr) minmax(270px,.72fr)}.meeting-summary{padding:var(--space-4) 0 var(--space-4) var(--space-8);border-top:0;border-left:1px solid oklch(42% .035 270);grid-column:auto;grid-template-columns:auto 1fr;align-content:center;align-self:stretch}.confirmed-badge{grid-column:2;margin-left:0}.archive-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start}.pdf-preview{position:sticky;top:102px}.note-feed{max-width:860px}}@media (width<=639px){.welcome-brand{gap:var(--space-6)}.quote-sheet{padding:var(--space-4)}.quote-sheet blockquote{margin-top:var(--space-4);font-size:1.02rem}.invite-button{font-size:0}.invite-button svg{margin:0}.page-intro,.archive-intro,.recommendation-toolbar{flex-direction:column;align-items:stretch}.page-intro .button,.archive-intro .button,.recommendation-toolbar>.button{width:100%}.current-cycle .book-cover{width:104px}.current-cycle__content h2{font-size:1.65rem}.section-block,.poll-panel,.composer,.note-entry{padding:var(--space-4)}.note-entry header{grid-template-columns:auto 1fr auto}.note-entry header .note-kind{grid-area:2/2/auto/-1}.note-entry header .icon-button{grid-area:1/3}.note-entry footer button{padding:0 var(--space-1);flex:1;justify-content:center}.poll-panel__heading{align-items:flex-start}.poll-panel__heading .button{width:44px;min-width:44px;padding:0;font-size:0;overflow:hidden}.poll-option{grid-template-columns:auto minmax(0,1fr) auto}.voter-stack,.leading-label{display:none}.poll-footer>div{grid-template-columns:1fr;display:grid}.poll-footer .button{width:100%}.recommendation-toolbar .filter-row{margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.recommendation-toolbar .filter-chip{flex:none}.pdf-preview{margin-top:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.sidebar,.topbar,.mobile-nav,.archive-intro .button,.record-header .button,.meeting-timeline,.toast{display:none!important}.main-area{margin:0}.content-wrap{padding:0}.archive-page>:not(.archive-layout){display:none}.archive-layout{display:block}.pdf-preview{position:static}.pdf-paper{width:148mm;height:210mm;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-preview>p{display:none}}
