:root{--bg: #f0efed;--sidebar-bg: #d8d6d2;--surface: #ffffff;--text: #1c1c1c;--text-2: #737373;--text-3: #b8b8b8;--border: rgba(0,0,0,.07);--border-light: rgba(0,0,0,.04);--primary: #1c1c1e;--on-primary: #ffffff;--header-bg: #1c1c1e;--header-text: #ffffff;--accent: #3d4aad;--accent-light: rgba(61,74,173,.09);--success: #1f8f4e;--success-bg: rgba(31,143,78,.09);--danger: #c93535;--danger-bg: rgba(201,53,53,.09);--warning: #b96f15;--warning-bg: rgba(185,111,21,.09);--status-good: #1f8f4e;--status-warn: #cf8a14;--status-bad: #c93535;--fill-accent: #dde1ff;--fill-accent-hover: #c8cfff;--fill-success: #d4ecdd;--fill-success-hover: #bddfc9;--toast-action: #8ea8ff;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 12px;--sp-7: 16px;--sp-8: 20px;--sp-9: 24px;--sp-10: 32px;--sp-11: 48px;--r-sm: 5px;--r-md: 8px;--r-lg: 12px;--r-full: 9999px;--shadow-card: 0 0 0 .5px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.05), 0 3px 10px rgba(0,0,0,.04);--shadow-nav-active: 0 0 0 .5px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.09);--shadow-popover: 0 4px 16px rgba(0,0,0,.12);--shadow-modal: 0 8px 40px rgba(0,0,0,.18);--focus-ring: 0 0 0 3px rgba(61,74,173,.2);--focus-ring-invalid: 0 0 0 3px rgba(239,68,68,.2);--sidebar-w: 216px;--topbar-h: 44px;--content-max: 820px;--hit-min: 44px;--t-fast: .08s;--t-normal: .18s;--scale-press: .97}[data-theme=dark]{--bg: #0f0f10;--sidebar-bg: #1a1a1c;--surface: #1a1a1c;--text: #f1f0eb;--text-2: #b3b2ad;--text-3: #807f7a;--border: #323237;--border-light: #28282c;--primary: #f1f0eb;--on-primary: #1a1a1c;--accent: #a8b4f1;--accent-light: rgba(168,180,241,.14);--success: #4ade80;--success-bg: rgba(74,222,128,.14);--danger: #f87171;--danger-bg: rgba(248,113,113,.14);--warning: #fbbf24;--warning-bg: rgba(251,191,36,.14);--status-good: #4ade80;--status-warn: #fbbf24;--status-bad: #f87171;--fill-accent: rgba(168,180,241,.2);--fill-accent-hover: rgba(168,180,241,.32);--fill-success: rgba(74,222,128,.18);--fill-success-hover: rgba(74,222,128,.28);--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 0 0 .5px rgba(255,255,255,.05);--shadow-popover: 0 4px 16px rgba(0,0,0,.5);--shadow-modal: 0 8px 40px rgba(0,0,0,.7);--focus-ring: 0 0 0 3px rgba(168,180,241,.28);--toast-action: #4169e1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;background:var(--bg);color-scheme:light}[data-theme=dark]{color-scheme:dark}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,select,textarea{font-family:var(--font);font-size:inherit}button{cursor:pointer}a{color:var(--accent)}main{max-width:none;margin:0;padding:0}.screen-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-8);flex-wrap:wrap;gap:var(--sp-3)}.screen-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.01em;text-wrap:balance}.dot{color:var(--accent)}.req{color:var(--danger)}.accent{color:var(--accent)}.muted{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.btn-primary{height:36px;padding:0 var(--sp-7);background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--t-fast),scale var(--t-fast),opacity var(--t-fast)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:active:not(:disabled){scale:var(--scale-press)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-danger{height:36px;padding:0 var(--sp-7);background:var(--danger);color:var(--on-primary);border:none;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:filter var(--t-fast),scale var(--t-fast),opacity var(--t-fast)}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-danger:active:not(:disabled){scale:var(--scale-press)}.btn-danger:disabled{opacity:.4;cursor:default}.btn-cancel{height:36px;padding:0 var(--sp-6);background:none;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-2);cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.btn-cancel:hover:not(:disabled){background:var(--border-light);color:var(--text)}.btn-cancel:disabled{opacity:.5;cursor:default}.btn-danger-outline{padding:var(--sp-3) var(--sp-6);background:none;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--danger);cursor:pointer;align-self:flex-start;transition:background-color var(--t-fast),border-color var(--t-fast)}.btn-danger-outline:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-danger-outline:disabled{opacity:.5;cursor:default}.btn-sm{height:30px;padding:0 var(--sp-5);font-size:var(--text-sm)}.btn-lg{height:44px;padding:0 var(--sp-8);font-size:var(--text-base)}.btn-tg{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 var(--sp-7);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;cursor:pointer;transition:border-color var(--t-fast),background-color var(--t-fast)}.btn-tg:hover{border-color:var(--text-3);background:color-mix(in srgb,var(--accent) 5%,var(--bg));color:var(--text)}.btn-primary:focus-visible,.btn-danger:focus-visible,.btn-cancel:focus-visible,.btn-danger-outline:focus-visible,.btn-tg:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (hover: none){.btn-primary,.btn-danger,.btn-cancel,.btn-tg{min-height:44px}}.empty-state{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-10) var(--sp-8);text-align:center;color:var(--text-2);font-size:var(--text-sm);line-height:1.55}.empty-state-title{display:block;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-2);margin-bottom:var(--sp-2)}.empty-state-hint{display:block;font-size:var(--text-sm);color:var(--text-3);margin-bottom:var(--sp-7)}.empty-state-link{background:none;border:none;padding:0;color:var(--accent);font-weight:var(--weight-medium);cursor:pointer;font-family:inherit;font-size:inherit}.empty-state-link:hover{text-decoration:underline}@media (hover: none){.empty-state .btn-sm{height:auto;min-height:40px;padding:0 var(--sp-6)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-7);animation:fade-in .15s ease}[data-theme=dark] .modal-backdrop{background:#000000b3}.modal-close{position:absolute;top:var(--sp-5);right:var(--sp-5);width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--r-full);color:var(--text-3);font-size:var(--text-lg);cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast)}.modal-close:hover{background:var(--border-light);color:var(--text)}.modal-close:active{scale:var(--scale-press)}.modal-close svg{width:16px;height:16px}.modal-box{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-9);width:100%;max-width:420px;box-shadow:var(--shadow-modal);animation:slide-up .18s ease;display:flex;flex-direction:column;gap:var(--sp-6)}.modal-box-scroll{max-height:90vh;overflow-y:auto}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text);margin:0}.modal-desc{font-size:var(--text-sm);color:var(--text-2);line-height:1.55}.modal-hint{font-size:var(--text-sm);color:var(--text-2);line-height:1.5}.modal-error{color:var(--danger);font-size:var(--text-sm)}.modal-phrase{font-weight:var(--weight-semibold);color:var(--text);background:var(--border-light);padding:0 var(--sp-2);border-radius:var(--r-sm)}.modal-field{display:flex;flex-direction:column;gap:var(--sp-2)}.modal-field span{font-size:var(--text-sm);color:var(--text-2)}.modal-field input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--text-base);font-family:inherit;outline:none}.modal-field input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.modal-field-pair{display:flex;gap:var(--sp-5)}.modal-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-3)}.modal-input{width:100%;height:40px;padding:0 var(--sp-5);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text);background:var(--bg);font-family:inherit;outline:none;transition:border-color var(--t-fast)}.modal-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.modal-input.invalid{border-color:var(--danger)}.modal-input.invalid:focus{box-shadow:var(--focus-ring-invalid)}.modal-input-num{font-variant-numeric:tabular-nums;-moz-appearance:textfield}.modal-input-num::-webkit-outer-spin-button,.modal-input-num::-webkit-inner-spin-button{-webkit-appearance:none}select.modal-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--sp-11);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-7) center;cursor:pointer}.modal-end-date{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text)}.modal-end-hint{font-size:var(--text-xs);color:var(--text-3);margin-left:var(--sp-3)}.modal-actions{display:flex;gap:var(--sp-3);justify-content:flex-end}@media (max-width: 600px){.modal-field-pair{flex-direction:column}}@media (hover: none){.modal-close{width:44px;height:44px}}.page-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-7)}.page-nav-arrow{width:var(--hit-min);height:var(--hit-min);display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--text-lg);color:var(--text-2);cursor:pointer;box-shadow:var(--shadow-card);transition:background-color var(--t-fast),color var(--t-fast)}.page-nav-arrow:hover{background:var(--border-light);color:var(--text)}.page-nav-arrow:active{scale:var(--scale-press)}.page-nav-arrow:disabled{opacity:.3;cursor:not-allowed}.page-nav-title{display:flex;align-items:baseline;gap:var(--sp-4)}.page-nav-label{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.01em}.page-nav-reset{background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;padding:0}.page-nav-reset:hover{text-decoration:underline}.page-nav-reset.hidden{visibility:hidden;pointer-events:none}.plan-cards{display:grid;gap:var(--sp-4)}.plan-cards--wide{grid-template-columns:repeat(2,1fr)}.plan-cards--compact{grid-template-columns:1fr;gap:var(--sp-3)}.plan-cards--compact .plan-card{padding:var(--sp-5) var(--sp-6);gap:var(--sp-4)}.plan-card{display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card);text-align:left;transition:border-color var(--t-fast),background var(--t-fast)}.plan-card.featured{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-light) 0%,var(--surface) 70%)}.plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.plan-card-label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text)}.plan-card-tag{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--accent);background:var(--accent-light);padding:3px var(--sp-2);border-radius:var(--r-sm);letter-spacing:.01em}.plan-card-price{display:flex;flex-direction:column;gap:var(--sp-2)}.plan-card-price-row{display:flex;align-items:baseline;gap:var(--sp-2);font-variant-numeric:tabular-nums}.plan-card-amount{font-size:32px;font-weight:var(--weight-semibold);letter-spacing:-.03em;line-height:1;color:var(--text)}.plan-card-currency{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text)}.plan-card-period{font-size:var(--text-sm);color:var(--text-2)}.plan-card-extra{font-size:var(--text-sm);color:var(--text-3)}.plan-card-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:var(--sp-3) var(--sp-5);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--r-sm);border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),filter var(--t-fast)}.plan-card-cta:hover:not(:disabled){border-color:var(--text-3)}.plan-card-cta:active:not(:disabled){scale:var(--scale-press)}.plan-card-cta:disabled{opacity:.55;cursor:default}.plan-card.featured .plan-card-cta{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.plan-card.featured .plan-card-cta:hover:not(:disabled){filter:brightness(1.1)}@media (max-width: 768px){.plan-cards--wide,.plan-cards--compact{grid-template-columns:1fr}.plan-card{padding:var(--sp-5) var(--sp-4)}.plan-card-amount{font-size:32px}}.skel{background:var(--border-light);border-radius:var(--r-md);animation:shimmer 1.2s ease-in-out infinite}.skel-wrap{display:flex;flex-direction:column;gap:var(--sp-6)}.skel-header,.skel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5)}.skel-btn{width:44px;height:44px;border-radius:var(--r-lg)}.skel-title{width:160px;height:24px}.skel-card{height:120px;border-radius:var(--r-lg)}.skel-nav{height:44px;border-radius:var(--r-md)}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.8}}@media (prefers-reduced-motion: reduce){.skel{animation:none;opacity:.6}}.toast-container{position:fixed;bottom:var(--sp-7);left:50%;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);z-index:999;pointer-events:none}.toast{background:var(--header-bg);color:var(--header-text);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-6);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-popover);max-width:360px;text-align:center;pointer-events:all;display:flex;align-items:center;gap:var(--sp-5);animation:toast-in .2s ease;border:1px solid transparent}.toast-success{border-color:var(--success)}.toast-error{border-color:var(--danger)}.toast-info{border-color:var(--border)}.toast-action{background:none;border:none;color:var(--toast-action);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.toast-action:hover{filter:brightness(1.15)}@keyframes toast-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;background:var(--border);border-radius:var(--r-full);position:relative;cursor:pointer;transition:background-color var(--t-fast);flex-shrink:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--r-full);background:var(--surface);transition:translate var(--t-fast);box-shadow:0 1px 2px #00000026}.toggle:checked{background:var(--accent)}.toggle:checked:after{translate:16px 0}.toggle:disabled{opacity:.5;cursor:default}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-spinner{width:22px;height:22px;border-radius:var(--r-full);border:2px solid var(--border);border-top-color:var(--text-3);animation:spin .7s linear infinite}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:232px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:var(--sp-7) var(--sp-5) var(--sp-9);border-right:1px solid var(--border)}.sidebar-logo{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.02em;padding:var(--sp-2) var(--sp-5) var(--sp-8);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;-webkit-user-select:none;user-select:none;flex-shrink:0}.sidebar-nav{flex:1}.nav-item{display:flex;align-items:center;gap:var(--sp-4);height:36px;padding:0 var(--sp-5);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-2);cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast);border:none;background:none;width:100%;text-align:left;font-family:inherit;font-weight:var(--weight-normal);margin-bottom:2px}.nav-item:hover:not(.active){background:var(--border-light);color:var(--text)}.nav-item.active{background:var(--surface);color:var(--text);font-weight:var(--weight-medium);box-shadow:var(--shadow-nav-active)}.nav-item:active{scale:var(--scale-press);transition-duration:.06s}.nav-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:color var(--t-fast)}.nav-item.active .nav-icon{color:var(--text)}.nav-item.locked,.nav-item.locked .nav-icon{color:var(--text-3)}.nav-lock{width:13px;height:13px;margin-left:auto;color:var(--text-3);flex-shrink:0}.sidebar-footer{margin-top:auto;padding:0 var(--sp-5)}.sidebar-user{display:flex;align-items:center;gap:var(--sp-4);width:100%;padding:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-7);border:none;background:none;font-family:inherit;cursor:pointer;border-radius:var(--r-md);transition:background var(--t-fast)}.sidebar-user:hover{background:var(--border-light)}.sidebar-user:active{scale:var(--scale-press)}.sidebar-avatar{width:24px;height:24px;border-radius:var(--r-full);background:var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:var(--weight-semibold);color:var(--text-2)}.sidebar-user-name{font-size:var(--text-sm);color:var(--text-2);font-weight:var(--weight-medium)}.sprint-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.sw{height:24px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-3);background:var(--border-light);cursor:default}.sw.past{background:var(--border);color:var(--text-2)}.sw.active{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 4px #00000040}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-content{flex:1;overflow-y:auto;padding:36px max(40px,calc((100% - 1040px)/2)) 64px}.content-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 264px;gap:var(--sp-10);align-items:start}.day-header{max-width:1040px;margin:0 auto var(--sp-7);display:flex;align-items:baseline;gap:0}.day-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.02em;text-wrap:balance}.day-date{font-size:var(--text-sm);color:var(--text-3);margin-left:var(--sp-5)}.day-nav{margin-left:auto;display:flex;gap:2px;align-self:center}.day-nav-btn{position:relative;width:40px;height:40px;border-radius:var(--r-md);border:none;background:none;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;transition-property:background-color,color;transition-duration:var(--t-fast);font-size:var(--text-base);line-height:1}.day-nav-btn:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}.day-nav-btn:hover:not(:disabled){background:var(--border);color:var(--text-2)}.day-nav-btn:disabled{opacity:.3;cursor:default}.day-nav-btn:active:not(:disabled){scale:var(--scale-press)}.tab-bar{display:none;flex-direction:column;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);z-index:100}.tab-bar-main{display:grid;grid-template-columns:repeat(5,1fr);padding:var(--sp-2) 0 calc(var(--sp-2) + env(safe-area-inset-bottom,0px))}.tab-bar-extra{max-height:0;overflow:hidden;transition:max-height .22s cubic-bezier(.2,.7,.2,1)}.tab-bar-extra.open{max-height:160px;border-bottom:1px solid var(--border-light)}.tab-bar-extra-title{padding:var(--sp-7) var(--sp-7) var(--sp-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.tab-bar-extra-row{display:grid;grid-template-columns:repeat(5,1fr);padding:0 0 var(--sp-3)}.tab-bar-main button,.tab-bar-extra-row button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--text-3);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;padding:var(--sp-2) 0;transition:color var(--t-fast);-webkit-tap-highlight-color:transparent}.tab-bar-main button svg,.tab-bar-extra-row button svg{width:21px;height:21px}.tab-bar-main button.active,.tab-bar-extra-row button.active{color:var(--text)}.tab-bar-main button:active,.tab-bar-extra-row button:active{scale:var(--scale-press)}@media (max-width: 768px){.app-layout{flex-direction:column;height:auto;min-height:100vh;overflow:auto}.sidebar{display:none}.app-main{overflow:visible}.app-content{padding:var(--sp-7) var(--sp-7) calc(80px + env(safe-area-inset-bottom,0px))}.content-grid{grid-template-columns:1fr;gap:var(--sp-7)}.day-header{margin-bottom:var(--sp-7)}.tab-bar{display:flex}}.cookie-banner{position:fixed;left:var(--sp-4);right:var(--sp-4);bottom:var(--sp-4);z-index:1000;margin-inline:auto;max-width:560px;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--header-bg);color:var(--header-text);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);animation:slide-up var(--t-normal) ease}.cookie-banner-text{margin:0;flex:1;font-size:var(--text-sm);line-height:1.4}.cookie-banner-link{color:var(--header-text);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.cookie-banner-btn{flex-shrink:0;background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--r-md);padding:var(--sp-2) var(--sp-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:filter var(--t-fast)}.cookie-banner-btn:hover{filter:brightness(1.08)}@media (max-width: 540px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:center}.cookie-banner-btn{width:100%;padding:var(--sp-3)}}.new-sprint-goal-list{display:flex;flex-direction:column;gap:2px}.new-sprint-goal-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);cursor:pointer;transition:background-color var(--t-fast)}.new-sprint-goal-item:hover{background:var(--bg)}.new-sprint-goal-item.unchecked{opacity:.45}.new-sprint-goal-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.new-sprint-goal-info{flex:1;min-width:0}.new-sprint-goal-title{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.new-sprint-goal-result{display:block;font-size:var(--text-xs);color:var(--text-3)}.new-sprint-target-input{width:72px;height:30px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--text);background:var(--bg);text-align:right;outline:none}.new-sprint-target-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.new-sprint-archive-hint{font-size:var(--text-xs);color:var(--text-3);margin-top:var(--sp-3);line-height:1.5}.onboarding-modal{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-10);width:100%;max-width:440px;box-shadow:var(--shadow-modal);position:relative;animation:slide-up .2s ease}.onboarding-step{display:flex;flex-direction:column;gap:var(--sp-7)}.onboarding-brand{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.03em;color:var(--text)}.onboarding-dot{color:var(--accent)}.onboarding-heading{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text)}.onboarding-desc{font-size:var(--text-sm);color:var(--text-3);line-height:1.6}.onboarding-options{display:flex;flex-direction:column;gap:var(--sp-3)}.onboarding-option{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-5) var(--sp-6);background:var(--bg);border:2px solid var(--border);border-radius:var(--r-lg);cursor:pointer;text-align:left;transition:border-color var(--t-fast),background-color var(--t-fast)}.onboarding-option:hover{border-color:var(--text-3)}.onboarding-option.selected{border-color:var(--accent);background:var(--accent-light)}.onboarding-option-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.onboarding-option-desc{font-size:var(--text-sm);color:var(--text-3)}.onboarding-custom-toggle{align-self:flex-start;background:none;border:none;padding:0;color:var(--text-3);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.onboarding-custom-toggle:hover{color:var(--text)}.onboarding-week-picker{display:flex;flex-direction:column;gap:var(--sp-4)}.onboarding-week-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2)}.onboarding-week-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-2)}.onboarding-week-btn{height:36px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2);cursor:pointer;transition-property:background-color,border-color,color,scale;transition-duration:var(--t-fast)}.onboarding-week-btn:hover{border-color:var(--text-3)}.onboarding-week-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-primary)}.onboarding-start-date-row{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.onboarding-examples{display:flex;gap:var(--sp-3);flex-wrap:wrap}.onboarding-example-chip{padding:var(--sp-2) var(--sp-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-full);font-size:var(--text-xs);color:var(--text-2);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.onboarding-example-chip:hover{border-color:var(--accent);color:var(--accent)}.onboarding-form{display:flex;flex-direction:column;gap:var(--sp-5)}.onboarding-field{display:flex;flex-direction:column;gap:var(--sp-2);flex:1}.onboarding-field-row{display:flex;gap:var(--sp-5)}.onboarding-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-3)}.onboarding-hint{font-size:var(--text-xs);color:var(--text-3);margin-top:var(--sp-1)}.onboarding-actions{display:flex;gap:var(--sp-4);justify-content:space-between;align-items:center}.unit-toggle{display:flex;gap:var(--sp-2)}.unit-btn{flex:1;height:34px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-3);cursor:pointer;transition-property:background-color,border-color,color,scale;transition-duration:var(--t-fast)}.unit-btn:hover{color:var(--text-2);border-color:var(--text-3)}.unit-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.unit-btn:active{scale:var(--scale-press)}@media (max-width: 768px){.onboarding-modal{padding:var(--sp-9)}}@media (max-width: 600px){.onboarding-week-grid{grid-template-columns:repeat(4,1fr)}.onboarding-field-row{flex-direction:column}}@media (hover: none){.onboarding-actions button{min-height:44px;padding-left:var(--sp-6);padding-right:var(--sp-6)}.onboarding-example-chip{min-height:36px;padding-top:var(--sp-2);padding-bottom:var(--sp-2)}}.paywall-card{position:relative;width:100%;max-width:380px;padding:var(--sp-9);display:flex;flex-direction:column;gap:var(--sp-5);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);animation:slide-up .2s ease}.paywall-kicker{font-size:var(--text-xs);color:var(--text-3);letter-spacing:.02em}.paywall-heading{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text);line-height:1.2}.paywall-body{display:flex;flex-direction:column;gap:var(--sp-2)}.paywall-sub{font-size:var(--text-sm);color:var(--text-3);line-height:1.55}.paywall-terms{background:none;border:none;font-size:var(--text-sm);color:var(--text-3);cursor:pointer;padding:var(--sp-2);align-self:center;border-radius:var(--r-sm);transition:color var(--t-fast)}.paywall-terms:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.user-menu-wrap{position:relative}.user-dropdown{position:absolute;top:calc(100% + var(--sp-2));right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-popover);min-width:230px;z-index:60;overflow:hidden;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1);animation:fade-in .1s ease}.dd-head{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);margin-bottom:var(--sp-2)}.dd-avatar{width:34px;height:34px;border-radius:var(--r-full);background:var(--border-light);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border)}.dd-id{display:flex;flex-direction:column;gap:2px;min-width:0}.dd-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-sub{font-size:var(--text-sm);color:var(--text-3)}.dd-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);width:100%;padding:var(--sp-3) var(--sp-4);background:none;border:none;border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:left;transition:background-color var(--t-fast)}.dd-item:hover{background:var(--border-light)}.dd-item-danger{color:var(--danger)}.dd-item-danger:hover{background:var(--danger-bg)}.dd-chev{width:13px;height:13px;color:var(--text-3);flex-shrink:0}.dd-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;transition:background-color var(--t-fast)}.dd-toggle:hover{background:var(--border-light)}.user-dropdown-up{bottom:calc(100% + var(--sp-2));top:auto;left:0;right:auto;min-width:0;width:100%}.verify-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-3) var(--sp-6);background:var(--warning-bg);color:var(--warning);border-bottom:1px solid var(--border);font-size:var(--text-sm);text-align:center;flex-shrink:0}.verify-banner button{background:var(--warning);color:var(--on-primary);border:none;border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;transition:filter var(--t-fast)}.verify-banner button:hover:not(:disabled){filter:brightness(1.05)}.verify-banner button:disabled{opacity:.5;cursor:default}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{text-align:center;padding:var(--sp-9) var(--sp-8);width:100%;max-width:380px;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.login-logo{font-size:28px;font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.03em;display:block}.login-logo .dot{color:var(--accent)}.login-divider{display:flex;align-items:center;gap:var(--sp-3);color:var(--text-3);font-size:var(--text-sm)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-btn-tg{display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--border);border-radius:var(--r-md);padding:0 var(--sp-8);height:44px;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;background:var(--bg);color:var(--text);transition:border-color var(--t-fast),background-color var(--t-fast)}.login-btn-tg:hover{border-color:var(--text-3);background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.login-btn-tg:active{scale:var(--scale-press)}.login-btn-tg.disabled{opacity:.5;pointer-events:none}.login-hint{font-size:var(--text-sm);color:var(--text-2)}.login-error{color:var(--danger);font-size:var(--text-sm);min-height:1.4em}.login-secondary{background:none;border:none;color:var(--text-3);font-size:var(--text-sm);cursor:pointer;padding:var(--sp-2) var(--sp-4);align-self:center}.login-secondary:hover{color:var(--text)}.login-dev-btn{margin-top:var(--sp-7);padding:var(--sp-4) var(--sp-6);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--warning) 12%,transparent),color-mix(in srgb,var(--warning) 12%,transparent) 6px,transparent 6px,transparent 12px);border:1px dashed var(--warning);border-radius:var(--r-md);color:var(--text-2);font-size:var(--text-xs);font-family:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.login-dev-btn:hover{color:var(--text)}.login-dev-btn:active{scale:var(--scale-press)}.auth-error{color:var(--danger);font-size:var(--text-sm)}.auth-info{color:var(--text-2);font-size:var(--text-sm)}.auth-switch{display:flex;justify-content:center;align-items:center;gap:var(--sp-1);margin-top:var(--sp-2);font-size:var(--text-sm);color:var(--text-2)}.auth-link{background:none;border:none;color:var(--accent);font-size:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-link:hover{color:var(--text)}.auth-link-inline{background:none;border:none;color:var(--text-3);font-size:var(--text-sm);cursor:pointer;padding:0;text-decoration:none}.auth-link-inline:hover{color:var(--text);text-decoration:underline;text-underline-offset:2px}.auth-clickwrap{font-size:var(--text-xs);color:var(--text-3);line-height:1.5;text-align:center;margin:0}.auth-clickwrap a{color:var(--text-2);text-decoration:underline dotted;text-underline-offset:3px;text-decoration-thickness:1px}.auth-clickwrap a:hover{color:var(--text)}.field-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.auth-email{display:flex;flex-direction:column;gap:var(--sp-4);width:100%;text-align:left}.auth-email .field{display:flex;flex-direction:column;gap:var(--sp-2)}.auth-email .field>span,.auth-email .field-label-row>label,.auth-email .field-label-row>span{font-size:var(--text-sm);color:var(--text-2)}.auth-email .field input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--text-base);font-family:inherit;height:44px;outline:none;transition:border-color var(--t-fast),background-color var(--t-fast)}.auth-email .field input:hover{border-color:var(--text-3)}.auth-email .field input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.auth-email .field input:disabled{opacity:.6}.verify-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-8)}.verify-card{text-align:center;max-width:360px;width:100%}.verify-card h1{font-size:var(--text-xl);margin:0 0 var(--sp-5)}.verify-muted{color:var(--text-3);margin:0}.verify-error{color:var(--danger);margin:0;font-size:var(--text-sm)}.verify-link{display:inline-block;margin-top:var(--sp-5);color:var(--accent);text-decoration:underline}.reset-form{display:flex;flex-direction:column;gap:var(--sp-4);text-align:left;margin-top:var(--sp-5)}.reset-field{display:flex;flex-direction:column;gap:var(--sp-2)}.reset-field span{font-size:var(--text-sm);color:var(--text-2)}.reset-field input{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--text-base);font-family:inherit;height:40px;outline:none;transition:border-color var(--t-fast)}.reset-field input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.reset-field input:disabled{opacity:.55}.doc-page{max-width:680px;margin:0 auto;padding:var(--sp-11) var(--sp-9);display:flex;flex-direction:column;gap:var(--sp-5)}.doc-back{font-size:var(--text-sm);color:var(--text-3);background:none;border:none;cursor:pointer;padding:0;align-self:flex-start;margin-bottom:var(--sp-3);text-decoration:none;transition:color var(--t-fast)}.doc-back:hover{color:var(--text-2)}.doc-page h1{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text)}.doc-body{display:flex;flex-direction:column;gap:var(--sp-4)}.doc-body h2{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);margin-top:var(--sp-5)}.doc-body p{font-size:var(--text-base);color:var(--text-2);line-height:1.65;margin:0}.doc-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.doc-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.doc-table td{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);color:var(--text-2);line-height:1.5}.doc-table td:first-child{color:var(--text-3);white-space:nowrap;width:40%}.doc-meta{margin-top:var(--sp-6);font-size:var(--text-sm);color:var(--text-3)}@media (max-width: 600px){.doc-page{padding:var(--sp-8) var(--sp-6)}}.habits-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-7)}.habits-title{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text);margin:0}.habits-add-btn{white-space:nowrap}.habits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}@media (max-width: 600px){.habits-grid{grid-template-columns:1fr}}.habit-card{display:flex;flex-direction:column;gap:var(--sp-3);width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-7);font-family:inherit;text-align:left;cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast);box-shadow:var(--shadow-card)}.habit-card:hover{background:var(--border-light)}.habit-card-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-card-schedule{font-size:var(--text-sm);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text-2)}.habit-card-streak strong{color:var(--text);font-weight:var(--weight-medium)}.habit-card-streak.is-empty{color:var(--text-3)}.habit-card-strip{display:inline-flex;gap:3px;flex-shrink:0}.habit-card-dot{width:8px;height:8px;border-radius:var(--r-full)}.habit-card-dot.status-done{background:var(--accent)}.habit-card-dot.status-miss{background:transparent;border:1px solid var(--text-3)}.habit-card-dot.status-skip{background:var(--border)}.habit-card-dot.status-today{background:transparent;border:1px solid var(--accent)}.habit-form{width:400px;max-width:calc(100vw - var(--sp-8))}.habit-form-segments{display:flex;gap:0;background:var(--bg);border-radius:var(--r-full);padding:3px}.habit-form-seg{flex:1;background:transparent;border:none;border-radius:var(--r-full);padding:var(--sp-4) var(--sp-3);font-family:inherit;font-size:var(--text-sm);color:var(--text-2);cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast)}.habit-form-seg.active{background:var(--surface);color:var(--text);font-weight:var(--weight-medium);box-shadow:var(--shadow-nav-active)}.habit-form-other{margin-top:var(--sp-5)}.habit-form-days{display:flex;gap:var(--sp-3)}.habit-form-day{flex:1;aspect-ratio:1;min-width:30px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2);cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.habit-form-day:hover{border-color:var(--text-2)}.habit-form-day.active{background:var(--accent);border-color:var(--accent);color:var(--on-primary, #fff)}.habit-form-other-link{display:inline-block;margin-top:var(--sp-5);background:none;border:none;padding:0;font-family:inherit;font-size:var(--text-sm);color:var(--text-3);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.habit-form-other-link:hover{color:var(--text-2)}.habit-form-interval{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-2)}.habit-interval-input{width:80px}.habit-form-disclosure{display:inline-block;margin:0 0 var(--sp-7);background:none;border:none;padding:0;font-family:inherit;font-size:var(--text-sm);color:var(--text-3);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.habit-form-disclosure:hover{color:var(--text-2)}.habit-value-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.habit-value-col{display:flex;flex-direction:column;gap:var(--sp-2)}.habit-form-actions{gap:var(--sp-3)}.habit-form-spacer{flex:1}.btn-danger-outline.confirm{background:var(--danger);color:var(--on-primary, #fff);border-color:var(--danger)}.task-row.is-habit .row-tag{font-size:var(--text-xs);color:var(--text-3);text-transform:lowercase;letter-spacing:.03em}.lp{--lp-ink: #161616;--lp-ink-2: rgba(22, 22, 22, .72);--lp-ink-3: rgba(22, 22, 22, .52);--lp-line: rgba(22, 22, 22, .08);--lp-line-strong:rgba(22, 22, 22, .16);--lp-paper: #ffffff;--lp-paper-2: #f5f5f4;--lp-surface: #ffffff;--lp-surface-2: #fafaf9;--lp-accent: #1f8f4e;--lp-accent-2: #186e3b;--lp-accent-soft:rgba(31, 143, 78, .1);--lp-good: #1f8f4e;--lp-good-soft: rgba(31, 143, 78, .12);--lp-shadow-lg: 0 24px 60px rgba(44, 38, 26, .1), 0 2px 6px rgba(44, 38, 26, .05);--lp-shadow-md: 0 12px 32px rgba(44, 38, 26, .08), 0 1px 3px rgba(44, 38, 26, .05);--lp-shadow-sm: 0 6px 18px rgba(44, 38, 26, .06);--lp-radius: 16px;--lp-radius-sm: 10px;--lp-radius-lg: 22px;--lp-max: 1140px;min-height:100vh;overflow-x:hidden;background:#fff;color:var(--lp-ink);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lp *{box-sizing:border-box}.lp-corner-login{position:absolute;top:clamp(16px,2.5vw,28px);right:clamp(16px,3vw,36px);z-index:5;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border:1px solid var(--lp-line-strong);border-radius:var(--r-full);background:var(--lp-surface);color:var(--lp-ink);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition-property:background-color,border-color,transform;transition-duration:var(--t-fast)}.lp-corner-login:hover{background:#1616160a;border-color:#16161647}.lp-corner-login:active{transform:scale(.96)}.lp-brand-row{position:relative;display:flex;justify-content:center;align-items:center;height:44px;margin-top:clamp(12px,2vw,24px)}.lp-brand-mark{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:0;background:none;cursor:pointer;color:var(--lp-ink);font-size:clamp(22px,2.2vw,26px);font-weight:var(--weight-semibold);letter-spacing:-.025em;line-height:1;border-radius:12px;transition-property:transform,background-color;transition-duration:var(--t-fast)}.lp-brand-mark:active{transform:scale(.96)}.lp-brand-logo{display:inline-flex;align-items:center;will-change:transform,opacity}.lp-brand-logo .lp-brand-dot-mark{color:var(--lp-accent)}.lp-brand-track{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-size:clamp(22px,2.2vw,26px);font-weight:var(--weight-semibold);letter-spacing:-.025em;line-height:1;color:var(--lp-ink)}.lp-brand-twelve{position:absolute;top:50%;left:50%;opacity:0;will-change:transform,opacity}.lp-brand-units{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:5px}.lp-brand-unit{width:6px;height:6px;border-radius:50%;background:var(--lp-accent);opacity:0;will-change:transform,opacity}.lp-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--lp-accent-soft);border-radius:var(--r-full);background:var(--lp-accent-soft);color:var(--lp-accent-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em;width:max-content}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:12px;font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.005em;cursor:pointer;transition:transform var(--t-fast),background-color var(--t-fast),filter var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.lp-btn-primary{background:var(--lp-ink);color:#fffaf1}.lp-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.lp-btn-primary:active{transform:scale(.96)}.lp-btn-ghost{background:transparent;color:var(--lp-ink);border-color:var(--lp-line-strong)}.lp-btn-ghost:hover{background:#1616160a;border-color:#16161647}.lp-btn-ghost:active{transform:scale(.96)}.lp :focus-visible{outline:none;box-shadow:0 0 0 3px #1f8f4e4d}.lp-btn-primary:focus-visible{box-shadow:0 0 0 3px #1f8f4e52,0 6px 14px #1616162e}.lp-hero{position:relative;isolation:isolate;padding:0 0 clamp(56px,9vw,112px)}.lp-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.lp-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(22,22,22,.1) 1px,transparent 1.4px);background-size:28px 28px;background-position:0 0;mask-image:linear-gradient(180deg,black 0%,black 50%,transparent 100%),radial-gradient(ellipse 90% 80% at 50% 40%,black 20%,transparent 90%);-webkit-mask-image:linear-gradient(180deg,black 0%,black 50%,transparent 100%),radial-gradient(ellipse 90% 80% at 50% 40%,black 20%,transparent 90%);mask-composite:intersect;-webkit-mask-composite:source-in;opacity:.5}.lp-hero-inner{max-width:var(--lp-max);margin:0 auto;padding:0 var(--sp-9);display:flex;flex-direction:column;gap:clamp(40px,6vw,64px)}.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(36px,6vw,80px)}.lp-hero-text{animation:lp-rise .56s cubic-bezier(.2,.7,.2,1) both}.lp-hero-text h1{margin:18px 0 0;font-size:clamp(40px,6.4vw,72px);line-height:1.02;font-weight:600;letter-spacing:-.025em;color:var(--lp-ink);text-wrap:balance}.lp-hero-text h1 em{position:relative;font-style:normal;white-space:nowrap;color:var(--lp-accent-2)}.lp-hero-text h1 em:after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:.22em;border-radius:999px;background:var(--lp-accent-soft);z-index:-1}.lp-lead{max-width:520px;margin:var(--sp-8) 0 0;color:var(--lp-ink-2);font-size:clamp(17px,1.6vw,20px);line-height:1.55;text-wrap:pretty}.lp-hero-cta{margin-top:var(--sp-10);display:flex;align-items:center;gap:var(--sp-9);flex-wrap:wrap}.lp-cta-note{display:inline-flex;align-items:center;gap:6px;color:var(--lp-ink-3);font-size:var(--text-sm);line-height:1.4}.lp-cta-note svg{color:var(--lp-good)}.lp-hero-shot{display:block;width:100%;aspect-ratio:1 / 1;border-radius:var(--lp-radius-lg);overflow:hidden;animation:lp-rise .64s cubic-bezier(.2,.7,.2,1) 80ms both}.lp-hero-shot img{display:block;width:100%;height:100%;object-fit:cover}.lp-decomp-card{position:relative;max-width:640px;margin:0 auto;padding:clamp(20px,3vw,30px);border:1px solid var(--lp-line-strong);border-radius:var(--lp-radius-lg);background:var(--lp-surface)}.lp-cases{display:flex;flex-wrap:wrap;row-gap:0;column-gap:4px;margin:0 0 18px;border-bottom:1px solid var(--lp-line)}.lp-case{position:relative;flex:0 0 auto;border:0;background:none;color:var(--lp-ink-3);padding:10px 6px 12px;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:-.005em;cursor:pointer;transition-property:color,transform;transition-duration:var(--t-fast);white-space:nowrap}.lp-case+.lp-case{margin-left:6px}.lp-case:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--lp-accent);transform:scaleX(0);transform-origin:center;transition:transform .24s cubic-bezier(.2,.7,.2,1)}.lp-case:hover{color:var(--lp-ink-2)}.lp-case:active{transform:scale(.96)}.lp-case.is-active{color:var(--lp-ink);font-weight:var(--weight-semibold)}.lp-case.is-active:after{transform:scaleX(1)}.lp-card-body{display:flex;flex-direction:column;min-height:340px;animation:lp-fade-in .26s ease-out both}.lp-card-title{margin:0;color:var(--lp-ink);font-size:clamp(20px,2.2vw,24px);line-height:1.2;font-weight:var(--weight-semibold);letter-spacing:-.01em;text-wrap:balance}.lp-card-context{margin:8px 0 18px;color:var(--lp-ink-2);font-size:var(--text-sm);line-height:1.55;text-wrap:pretty}.lp-chain{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:0}.lp-chain-row{position:relative;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:14px;padding:12px 0;opacity:0;transform:translateY(8px);animation:lp-step-in .46s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--step-i, 0) * 90ms)}.lp-chain-row+.lp-chain-row:before{content:"";position:absolute;top:-8px;left:10px;width:2px;height:24px;background:linear-gradient(180deg,#b8673d73,#b8673d38);border-radius:2px}.lp-chain-dot{width:12px;height:12px;margin-left:5px;border-radius:50%;border:2px solid var(--lp-accent);background:var(--lp-surface)}.lp-chain-label{color:var(--lp-ink-3);font-size:var(--text-sm);font-weight:var(--weight-medium)}.lp-chain-value{color:var(--lp-ink);font-size:clamp(15px,1.4vw,17px);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.005em}.lp-chain-row.is-final{margin-top:14px;padding:16px 18px;border-radius:14px;background:var(--lp-ink);color:#fffaf1}.lp-chain-row.is-final:before{display:none}.lp-chain-row.is-final .lp-chain-dot{border-color:#ffffffd9;background:var(--lp-accent);box-shadow:0 0 0 4px var(--lp-accent-soft)}.lp-chain-row.is-final .lp-chain-label{color:#fffaf1b3}.lp-chain-row.is-final .lp-chain-value{color:#fffaf1;font-size:clamp(17px,1.7vw,20px)}.lp-section{max-width:var(--lp-max);margin:0 auto;padding:clamp(64px,9vw,112px) var(--sp-9)}.lp-section-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6);margin-bottom:var(--sp-10);max-width:720px}.lp-section-head-center{align-items:center;text-align:center;margin-left:auto;margin-right:auto}.lp-section-head h2{margin:0;color:var(--lp-ink);font-size:clamp(28px,3.6vw,44px);line-height:1.08;font-weight:600;letter-spacing:-.02em;text-wrap:balance}.lp-section-lead{margin:0;color:var(--lp-ink-2);font-size:clamp(15px,1.4vw,17px);line-height:1.6;text-wrap:pretty}.lp-how-pitch,.lp-why-pitch{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:18px}.lp-how-pitch h2,.lp-why-pitch h2{margin:0;color:var(--lp-ink);font-size:clamp(28px,3.6vw,44px);line-height:1.1;font-weight:600;letter-spacing:-.02em}.lp-how-pitch p,.lp-why-pitch p{margin:0;color:var(--lp-ink-2);font-size:clamp(17px,1.8vw,21px);line-height:1.55;text-wrap:pretty}.lp-how-shot{display:block;margin:clamp(36px,5vw,56px) auto 0;max-width:1040px;width:100%}.lp-how-shot img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--lp-line-strong)}@media (max-width: 720px){.lp-how-shot{max-width:440px}.lp-how-shot img{border-radius:12px}}.lp-video-pitch{max-width:740px;margin:0 auto var(--sp-10);color:var(--lp-ink);font-size:clamp(22px,2.8vw,32px);line-height:1.35;font-weight:var(--weight-medium);letter-spacing:-.01em;text-align:center;text-wrap:balance}.lp-wavy{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--lp-accent);text-decoration-thickness:3.5px;text-underline-offset:9px}.lp-tilt{position:relative;display:inline-block;white-space:nowrap}.lp-tilt:after{content:"";position:absolute;left:-2px;right:-2px;bottom:-3px;height:4px;background:var(--lp-accent);border-radius:2px;transform:rotate(-.8deg);transform-origin:12% 50%}.lp-video-frame{position:relative;aspect-ratio:16 / 9;max-width:880px;margin:0 auto;overflow:hidden;border:1px solid var(--lp-line-strong);border-radius:var(--lp-radius-lg);background:#0a0a0a}.lp-video-frame iframe{width:100%;height:100%;border:0;display:block}.lp-price-pitch{max-width:680px;margin:0 auto var(--sp-10);text-align:center;display:flex;flex-direction:column;gap:6px}.lp-price-pitch h2{margin:0 0 4px;color:var(--lp-ink);font-size:clamp(22px,2.8vw,32px);line-height:1.3;font-weight:var(--weight-semibold);letter-spacing:-.015em;text-wrap:balance}.lp-price-pitch p{margin:0;color:var(--lp-ink-2);font-size:clamp(15px,1.5vw,18px);line-height:1.5;text-wrap:balance}.lp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7);max-width:820px;margin:0 auto}.lp-plan{position:relative;display:flex;flex-direction:column;gap:18px;padding:28px 26px 26px;border:1px solid var(--lp-line-strong);border-radius:var(--lp-radius);background:var(--lp-surface);transition:border-color var(--t-normal)}.lp-plan:hover{border-color:#16161638}.lp-plan-featured{border-color:var(--lp-accent);border-width:1.5px;background:var(--lp-surface)}.lp-plan-featured:hover{border-color:var(--lp-accent-2)}.lp-plan-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:6px 12px;border-radius:999px;background:var(--lp-accent);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em;white-space:nowrap}.lp-plan-head{position:relative;display:flex;flex-direction:column;gap:6px;padding-bottom:22px}.lp-plan-period{color:var(--lp-accent-2);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.lp-plan-price{color:var(--lp-ink);font-size:clamp(24px,2.8vw,30px);line-height:1.1;font-weight:var(--weight-semibold);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.lp-plan-note{position:absolute;left:0;bottom:0;color:var(--lp-ink-3);font-size:var(--text-sm);line-height:1.4}.lp-plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lp-plan-list li{display:flex;align-items:flex-start;gap:8px;color:var(--lp-ink-2);font-size:var(--text-sm);line-height:1.45}.lp-plan-list svg{flex:0 0 auto;margin-top:2px;color:var(--lp-good)}.lp-plan .lp-btn{width:100%;margin-top:4px}.lp-guarantee{max-width:720px;margin:36px auto 0;padding:18px 22px 18px 44px;position:relative;border:1px solid rgba(31,143,78,.22);border-radius:var(--lp-radius);background:#1f8f4e0f;color:var(--lp-ink-2);font-size:var(--text-base);line-height:1.55;text-align:left}.lp-guarantee:before{content:"";position:absolute;left:22px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--lp-accent);box-shadow:0 0 0 4px #1f8f4e29}.lp-guarantee strong{color:var(--lp-ink);font-weight:var(--weight-semibold)}.lp-foot{border-top:1px solid var(--lp-line);background:color-mix(in srgb,var(--lp-paper-2) 70%,transparent)}.lp-foot-inner{max-width:var(--lp-max);margin:0 auto;padding:28px var(--sp-9);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--sp-8)}.lp-foot-brand{color:var(--lp-ink);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.015em}.lp-foot-brand span{color:var(--lp-accent)}.lp-foot-links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--sp-8);justify-content:center}.lp-foot-links a,.lp-foot-link{color:var(--lp-ink-2);font-size:var(--text-sm);text-decoration:none;font-family:inherit;background:none;border:0;padding:0;cursor:pointer;transition:color var(--t-fast)}.lp-foot-links a:hover,.lp-foot-link:hover{color:var(--lp-ink)}.lp-foot-copy{color:var(--lp-ink-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums;justify-self:end}@keyframes lp-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.lp-hero-text,.lp-hero-shot,.lp-decomp-card,.lp-chain-row,.lp-card-body{animation:none;opacity:1;transform:none}.lp-btn,.lp-plan{transition:none}}@media (max-width: 1024px){.lp-hero-grid{grid-template-columns:1fr;gap:clamp(36px,6vw,56px)}.lp-hero-shot{max-width:480px;width:100%;margin:0 auto}}@media (max-width: 720px){.lp-hero-inner{padding:0 var(--sp-7)}.lp-hero-text h1{font-size:clamp(34px,9vw,44px)}.lp-hero-cta{gap:var(--sp-6)}.lp-hero-cta .lp-btn{width:100%}.lp-section{padding:clamp(56px,12vw,80px) var(--sp-7)}.lp-section-head{margin-bottom:var(--sp-9)}.lp-plans{grid-template-columns:1fr;gap:var(--sp-9)}.lp-plan{padding:26px 22px 22px}.lp-foot-inner{grid-template-columns:1fr;text-align:center;gap:var(--sp-6);padding:24px var(--sp-7)}.lp-foot-links{justify-content:center;gap:var(--sp-7) var(--sp-8)}.lp-foot-copy{justify-self:center}}@media (max-width: 440px){.lp-cases{gap:5px}.lp-case{padding:6px 11px;font-size:var(--text-xs)}.lp-hero-card{padding:18px 16px}.lp-chain-row{grid-template-columns:18px 1fr auto;gap:10px;padding:10px 0}.lp-chain-row+.lp-chain-row:before{left:8px;top:-6px;height:18px}.lp-chain-dot{margin-left:3px;width:10px;height:10px}.lp-chain-row.is-final{padding:14px 16px}}.notes-header{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-7)}.notes-title{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text);margin:0}.notes-search-btn{margin-left:auto;width:36px;height:36px;border-radius:var(--r-full);background:transparent;border:1px solid var(--border);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast)}.notes-search-btn:hover{background:var(--surface);color:var(--text)}.notes-search-btn[aria-pressed=true]{background:var(--text);color:var(--on-primary);border-color:var(--text)}.notes-search-btn svg{width:16px;height:16px}.notes-search{margin-bottom:var(--sp-7)}.notes-search-input{width:100%;max-width:480px;border:1px solid var(--border);border-radius:var(--r-full);padding:var(--sp-4) var(--sp-7);font-family:inherit;font-size:var(--text-sm);background:var(--surface);color:var(--text)}.notes-search-input:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--accent)}.notes-quick{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:var(--sp-5) var(--sp-6);margin:0 auto var(--sp-9);display:flex;align-items:center;gap:var(--sp-5);max-width:640px}.notes-quick input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--text-base);color:var(--text)}.notes-quick input::placeholder{color:var(--text-3)}.notes-quick-expand{background:transparent;border:none;padding:0;font-family:inherit;font-size:var(--text-sm);color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.notes-section-label{font-size:var(--text-sm);color:var(--text-3);margin:var(--sp-7) 0 var(--sp-5)}.notes-section-label:first-child{margin-top:0}.notes-masonry{column-count:4;column-gap:var(--sp-6)}@media (max-width: 1200px){.notes-masonry{column-count:3}}@media (max-width: 900px){.notes-masonry{column-count:2}}@media (max-width: 600px){.notes-masonry{column-count:1}}.note-card{break-inside:avoid;display:block;width:100%;margin-bottom:var(--sp-6);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);cursor:pointer;transition:box-shadow .12s;text-align:left;font-family:inherit;color:inherit}.note-card:hover{box-shadow:0 0 0 .5px #00000014,0 2px 4px #0000000f,0 6px 16px #0000000d}.note-card-body{padding:var(--sp-6) var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-3)}.note-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4)}.note-card-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text);line-height:1.3;word-wrap:break-word}.note-card-pin{flex-shrink:0;width:14px;height:14px;color:var(--text-2)}.note-card-text{font-size:var(--text-sm);color:var(--text);white-space:pre-wrap;word-wrap:break-word;line-height:1.45}.note-card-foot{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;padding:0 var(--sp-7) var(--sp-6)}.note-card-label,.note-card-goal{display:inline-flex;align-items:center;background:var(--border-light);color:var(--text-2);border-radius:var(--r-full);padding:2px var(--sp-4);font-size:var(--text-xs)}.note-card-goal{gap:var(--sp-2)}.note-card-goal:before{content:"";width:6px;height:6px;border-radius:var(--r-full);background:var(--accent)}.note-card-meta{font-size:var(--text-xs);color:var(--text-3);margin-left:auto}.note-form{width:480px;max-width:calc(100vw - var(--sp-8))}.note-form-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6)}.note-form-head .modal-title{margin:0}.note-form-pin{width:32px;height:32px;background:transparent;border:none;border-radius:var(--r-full);cursor:pointer;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center}.note-form-pin:hover{background:var(--border-light)}.note-form-pin.active{color:var(--text)}.note-form-pin svg{width:18px;height:18px}.note-form-title{font-size:var(--text-lg);font-weight:var(--weight-medium);margin-bottom:var(--sp-5)}.note-form-body{font-family:inherit;resize:vertical;min-height:120px;line-height:1.45;padding-top:var(--sp-5);padding-bottom:var(--sp-5);height:auto;margin-bottom:var(--sp-5)}.note-form-labels{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-7);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:38px}.note-form-label-chip{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--border-light);color:var(--text-2);border-radius:var(--r-full);padding:2px var(--sp-4);font-size:var(--text-xs)}.note-form-label-chip button{background:transparent;border:none;padding:0;font-size:13px;color:var(--text-3);cursor:pointer;line-height:1}.note-form-label-chip button:hover{color:var(--text)}.note-form-label-input{flex:1;min-width:100px;border:none;outline:none;font-family:inherit;font-size:var(--text-sm);color:var(--text);background:transparent}.note-form-label-input::placeholder{color:var(--text-3)}.note-form-actions{gap:var(--sp-3)}.note-form-spacer{flex:1}.planning-tabs{display:flex;background:var(--sidebar-bg);border-radius:var(--r-full);padding:3px;margin-bottom:var(--sp-7)}.planning-tabs button{flex:1;border:0;background:transparent;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-full);cursor:pointer;transition:color var(--t-fast),background var(--t-fast);-webkit-tap-highlight-color:transparent}.planning-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000f}.pricing-page{max-width:600px;margin:0 auto}.pricing-hero{text-align:center;padding:var(--sp-10) 0 var(--sp-8)}.pricing-hero h1{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.02em;margin-bottom:var(--sp-5)}.pricing-hero-sub{font-size:var(--text-base);color:var(--text-2);line-height:1.6}.pricing-status-card{background:var(--success-bg);border:1px solid var(--success);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-8);text-align:center;font-size:var(--text-base);color:var(--status-good);font-weight:var(--weight-medium)}.pay-success-page{max-width:420px;margin:0 auto;padding:var(--sp-10) 0;display:flex;flex-direction:column;gap:var(--sp-8)}.ps-block{display:flex;flex-direction:column;gap:var(--sp-4)}.ps-brand{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.03em;color:var(--text)}.ps-status-mark{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-full);margin-bottom:var(--sp-2)}.ps-status-mark.success{background:var(--success-bg);color:var(--success)}.ps-status-mark.success svg{width:22px;height:22px}.ps-status-mark.waiting{background:var(--accent-light);color:var(--accent)}.ps-spinner{width:20px;height:20px;border-radius:var(--r-full);border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}.ps-heading{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text);text-wrap:balance;margin:0}.ps-desc{font-size:var(--text-sm);color:var(--text-3);line-height:1.6;text-wrap:pretty;margin:calc(-1 * var(--sp-2)) 0 0}.ps-num{font-variant-numeric:tabular-nums}.ps-actions{display:flex;gap:var(--sp-4)}.ps-meta{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6) 0 0;border-top:1px solid var(--border)}.ps-meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);font-size:var(--text-sm)}.ps-meta-label{color:var(--text-3)}.ps-meta-value{color:var(--text-2)}@media (max-width: 520px){.pay-success-page{padding:var(--sp-7) 0;gap:var(--sp-7)}}.settings-page{max-width:560px;margin:0 auto;padding:var(--sp-9) 0 var(--sp-10);display:flex;flex-direction:column;gap:var(--sp-6)}.settings-title{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;color:var(--text)}.settings-list{list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-card)}.settings-list li+li{border-top:1px solid var(--border)}.settings-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-6) var(--sp-7);background:none;border:none;color:inherit;font-family:inherit;font-size:inherit;cursor:pointer;text-align:left;text-decoration:none;transition:background-color var(--t-fast)}.settings-row:hover{background:var(--border-light)}.settings-row-danger .settings-row-title{color:var(--danger)}.settings-row-danger:hover{background:var(--danger-bg)}.settings-row-text{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.settings-row-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text)}.settings-row-hint{font-size:var(--text-sm);color:var(--text-3)}.settings-row-chev{width:15px;height:15px;color:var(--text-3);flex-shrink:0}.settings-sub-head{display:flex;flex-direction:column;gap:var(--sp-3)}.settings-back{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-2);background:none;border:none;font-family:inherit;font-size:var(--text-sm);color:var(--text-3);cursor:pointer;padding:var(--sp-2);margin-left:calc(-1 * var(--sp-2));border-radius:var(--r-sm);transition:color var(--t-fast)}.settings-back svg{width:14px;height:14px}.settings-back:hover{color:var(--text)}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-5);box-shadow:var(--shadow-card)}.settings-meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4)}.settings-meta-label{font-size:var(--text-sm);color:var(--text-3)}.settings-meta-value{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text)}.settings-meta-value.accent{color:var(--accent)}.settings-meta-value.muted{color:var(--text-3)}.settings-link{align-self:flex-start;background:none;border:none;font-family:inherit;font-size:var(--text-sm);cursor:pointer;padding:0;transition:text-decoration var(--t-fast)}.settings-link:hover{text-decoration:underline;text-underline-offset:3px}.settings-link:disabled{opacity:.5;cursor:default}.settings-link.accent{color:var(--accent)}.settings-link.danger{color:var(--danger)}.settings-card-actions{display:flex;flex-wrap:wrap;gap:var(--sp-7);align-items:center}.settings-renew{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);cursor:pointer}.settings-renew-text{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.settings-renew-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text)}.settings-renew-hint{font-size:var(--text-sm);color:var(--text-3)}.settings-cancel-form{display:flex;flex-direction:column;gap:var(--sp-4)}.settings-cancel-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.settings-cancel-desc{font-size:var(--text-sm);color:var(--text-2);line-height:1.5}.settings-cancel-textarea{font-family:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);resize:vertical;min-height:80px;outline:none}.settings-cancel-textarea:focus{border-color:var(--accent)}.settings-cancel-actions{display:flex;gap:var(--sp-3)}.settings-payments-section{display:flex;flex-direction:column;gap:var(--sp-4)}.settings-payments-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.settings-payments{list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.settings-payment{display:flex;align-items:center;gap:var(--sp-6);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border)}.settings-payment:last-child{border-bottom:none}.settings-payment-chip{flex-shrink:0;width:42px;height:42px;border-radius:var(--r-md);background:var(--border-light);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}.settings-payment-chip-day{font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.settings-payment-chip-month{font-size:10px;color:var(--text-3);text-transform:lowercase}.settings-payment-main{flex:1;min-width:0;font-size:var(--text-sm);color:var(--text)}.settings-payment-end{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.settings-help-line{text-align:center;font-size:var(--text-sm);color:var(--text-3)}.settings-help-line a{color:var(--accent);text-decoration:none}.settings-help-line a:hover{text-decoration:underline}.settings-muted{font-size:var(--text-base);color:var(--text-3)}.settings-export-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6)}.settings-export-text{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.settings-export-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text)}.settings-tz-row{display:flex;flex-direction:column;gap:var(--sp-3)}.settings-tz-text{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.settings-tz-input{font-family:inherit;font-size:var(--text-base);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);width:100%;transition:border-color var(--t-fast)}.settings-tz-input:focus{outline:none;border-color:var(--accent)}.settings-danger-card{gap:var(--sp-5);border-color:var(--danger-bg)}.settings-danger-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.settings-danger-desc{font-size:var(--text-sm);color:var(--text-2);line-height:1.5}.settings-auth-header{display:flex;align-items:center;gap:var(--sp-4)}.settings-back-icon{background:none;border:none;padding:var(--sp-2);color:var(--text-2);cursor:pointer;border-radius:var(--r-sm);transition:color var(--t-fast),background-color var(--t-fast)}.settings-back-icon:hover{color:var(--text);background:var(--border-light)}.settings-auth-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:var(--shadow-card)}.settings-auth-block-head{display:flex;align-items:center;gap:var(--sp-3)}.settings-auth-block-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.settings-auth-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px var(--sp-3);border-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.04em}.settings-auth-badge.ok{background:var(--success-bg);color:var(--status-good)}.settings-auth-badge.warn{background:var(--warning-bg);color:var(--status-warn)}.settings-auth-value{margin:0;color:var(--text);font-size:var(--text-base)}.settings-auth-hint{margin:0;color:var(--text-2);font-size:var(--text-sm);line-height:1.5}.settings-subscribe{display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-6) 0}.settings-subscribe-intro{display:flex;flex-direction:column;gap:var(--sp-2)}.settings-subscribe-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text);margin:0}.settings-subscribe-desc{font-size:var(--text-sm);color:var(--text-2);line-height:1.55;margin:0}.settings-subscribe-fineprint{font-size:var(--text-xs);color:var(--text-3);line-height:1.55;margin:0}.sprint-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-8);flex-wrap:wrap;gap:var(--sp-3)}.sprint-header-left{display:flex;align-items:baseline;gap:var(--sp-5)}.sprint-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--text);letter-spacing:-.01em;text-wrap:balance}.sprint-dates-btn{font-size:var(--text-sm);color:var(--text-3);background:none;border:none;cursor:pointer;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);display:flex;align-items:center;gap:var(--sp-2);transition:color var(--t-fast)}.sprint-dates-btn:hover{color:var(--accent)}.sprint-pencil{width:12px;height:12px;opacity:0;transition:opacity var(--t-fast)}.sprint-dates-btn:hover .sprint-pencil{opacity:.7}@media (hover: none){.sprint-pencil{opacity:.5}}.sprint-week-badge{font-size:var(--text-sm);color:var(--accent);font-weight:var(--weight-medium)}.sprint-week-badge.done{color:var(--status-good)}.sprint-over-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding:var(--sp-6) var(--sp-8);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);margin-bottom:var(--sp-6)}.sprint-over-text{display:flex;flex-direction:column;gap:var(--sp-1)}.sprint-over-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.sprint-over-stats{font-size:var(--text-sm);color:var(--text-3)}.goals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}.goal-row{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-6) var(--sp-7)}.goal-row-full{grid-column:1 / -1}.goal-card{display:flex;align-items:center;gap:var(--sp-5);background:none;border:none;cursor:pointer;padding:0;width:100%;text-align:left;border-radius:var(--r-sm);transition:transform var(--t-fast)}.goal-card:hover .goal-name{color:var(--accent)}.goal-card:active{scale:var(--scale-press)}.goal-ring{position:relative;width:68px;height:68px;flex-shrink:0}.goal-ring svg{width:100%;height:100%;display:block}.ring-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.goal-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.goal-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);transition:color var(--t-fast)}.goal-full-title{font-size:var(--text-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-book-sub{font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.goal-nums{font-size:var(--text-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.goal-remaining{font-size:var(--text-xs);color:var(--text-3)}.goal-complete{font-size:var(--text-xs);color:var(--status-good);font-weight:var(--weight-medium)}.goal-create-modal{max-width:520px;gap:var(--sp-5)}.goal-create-fields{padding-top:var(--sp-2)}.smart-hero{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5) 0 var(--sp-7);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.smart-hero:focus-within{border-color:var(--accent);box-shadow:var(--focus-ring)}.smart-hero-icon{color:var(--accent);flex-shrink:0}.smart-hero-input{flex:1;min-width:0;height:56px;padding:0;border:none;background:transparent;color:var(--text);font:inherit;font-size:var(--text-base);outline:none}.smart-hero-input::placeholder{color:var(--text-3)}.smart-hero.parsing:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:calc(var(--r-md) - 1px);pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 14%,transparent),transparent);transform:translate(-100%);animation:smart-sweep 1.1s ease-in-out infinite}.smart-hero-hint{margin:0;font-size:var(--text-xs);color:var(--text-3);line-height:1.45}.advanced-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;background:none;border:none;color:var(--text-3);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--t-fast)}.advanced-toggle:hover{color:var(--text)}.advanced-toggle svg{transition:transform var(--t-fast)}.advanced-toggle.open svg{transform:rotate(180deg)}.sprint-edit-form{display:flex;flex-direction:column;gap:var(--sp-5)}.sprint-edit-row{display:flex;flex-direction:column;gap:var(--sp-2);flex:1}.sprint-edit-row-pair{display:flex;gap:var(--sp-5);flex-wrap:wrap}.sprint-edit-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-3)}.sprint-edit-hint{font-size:var(--text-xs);color:var(--text-3);line-height:1.35}.sprint-edit-input{height:34px;padding:0 var(--sp-5);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text);background:var(--bg);outline:none;transition:border-color var(--t-fast)}.sprint-edit-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.sprint-edit-input.invalid{border-color:var(--danger)}.sprint-edit-input.invalid:focus{box-shadow:var(--focus-ring-invalid)}.sprint-edit-num{font-variant-numeric:tabular-nums;-moz-appearance:textfield}.sprint-edit-num::-webkit-outer-spin-button,.sprint-edit-num::-webkit-inner-spin-button{-webkit-appearance:none}.sprint-edit-unit{max-width:110px}.sprint-edit-actions{display:flex;gap:var(--sp-4);align-items:center;padding-top:var(--sp-2)}.sprint-edit-actions-right{display:flex;gap:var(--sp-3);margin-left:auto}.goal-edit-actions{justify-content:space-between;align-items:center;flex-wrap:wrap}.goal-edit-actions-right{display:flex;gap:var(--sp-3);margin-left:auto}.sprint-edit-delete{height:34px;padding:0 var(--sp-5);background:none;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-3);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.sprint-edit-delete:hover{color:var(--danger);border-color:var(--danger)}.sprint-edit-cancel{height:34px;padding:0 var(--sp-5);background:none;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-2);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.sprint-edit-cancel:hover{color:var(--text);border-color:var(--text-3)}.sprint-edit-cancel:active{scale:var(--scale-press)}.sprint-edit-required{color:var(--danger);margin-left:2px}.form-sep{height:1px;background:var(--border);margin:var(--sp-3) 0}.smart-goal-result{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-1);animation:smart-reveal .22s ease-out}.smart-goal-problem,.smart-goal-question{font-size:var(--text-sm);line-height:1.45;color:var(--text-2)}.smart-goal-result.needs_rewrite .smart-goal-problem{color:var(--warning)}.smart-goal-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.smart-goal-suggestion{min-height:54px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--t-fast),transform var(--t-fast)}.smart-goal-suggestion:hover{border-color:var(--accent)}.smart-goal-suggestion:active{transform:scale(.98)}.smart-goal-suggestion span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.3}.smart-goal-suggestion small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums}@keyframes smart-sweep{0%{transform:translate(-100%);opacity:0}20%{opacity:1}to{transform:translate(100%);opacity:0}}@keyframes smart-reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.day-btns{display:flex;gap:var(--sp-2);flex-wrap:wrap}.day-btn{width:34px;height:30px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-3);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition-property:background-color,border-color,color,scale;transition-duration:var(--t-fast)}.day-btn:hover{border-color:var(--text-3)}.day-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-primary)}.day-btn:active{scale:var(--scale-press)}.add-goal-btn{grid-column:1 / -1;width:100%;height:var(--hit-min);background:none;border:1.5px dashed var(--border);border-radius:var(--r-lg);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-3);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.add-goal-btn:hover{color:var(--accent);border-color:var(--accent)}.add-goal-btn:active{scale:var(--scale-press)}.delete-confirm-text{font-size:var(--text-sm);color:var(--danger);font-weight:var(--weight-medium)}@media (max-width: 768px){.goals-grid{gap:var(--sp-4)}}@media (max-width: 600px){.goals-grid{grid-template-columns:1fr}.goal-ring{width:56px;height:56px}.ring-pct{font-size:var(--text-sm)}.smart-goal-suggestions{grid-template-columns:1fr}}@media (hover: none){.sprint-edit-input,.sprint-edit-cancel,.sprint-edit-delete{min-height:44px}.sprint-edit-input{padding-top:0;padding-bottom:0}.day-btn{width:44px;height:44px}}.task-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden}.task-row{display:flex;align-items:center;gap:var(--sp-6);height:52px;padding:0 var(--sp-7);border-bottom:1px solid var(--border-light);cursor:default;transition:background var(--t-fast)}.task-row:last-child,.task-row:has(+.task-add-input){border-bottom:none}.task-row:hover{background:var(--border-light)}.task-row.is-standalone .row-name[role=button]{cursor:text}.task-row.is-standalone .row-name[role=button]:hover{color:var(--text-2)}.task-row.is-done{opacity:.4}.task-row.is-done:hover{opacity:.65;background:none}.check-circle{position:relative;width:18px;height:18px;border-radius:var(--r-full);border:1.5px solid var(--border);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition-property:border-color,background-color,scale;transition-duration:var(--t-fast)}.check-circle:before{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px}.check-circle:hover{border-color:var(--text-3)}.check-circle:active{scale:var(--scale-press)}.check-circle.done{background:var(--success);border-color:var(--success)}.check-circle.done:after{content:"";display:block;width:8px;height:5px;border-left:1.5px solid var(--on-primary);border-bottom:1.5px solid var(--on-primary);transform:rotate(-45deg) translate(.5px,-.5px)}.row-info{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--sp-4)}.row-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-name.done{text-decoration:line-through;color:var(--text-3);font-weight:var(--weight-normal)}.row-val{font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.row-btns{display:flex;gap:var(--sp-2);flex-shrink:0;opacity:0;transition:opacity var(--t-fast)}.task-row:hover .row-btns,.task-row.is-clarifying .row-btns{opacity:1}@media (hover: none){.row-btns{opacity:1}}.rbtn{height:28px;padding:0 var(--sp-6);border-radius:var(--r-md);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;font-family:inherit;white-space:nowrap;border:none;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.rbtn:active{transform:scale(.96)}.rbtn.ghost{background:var(--border-light);color:var(--text-2)}.rbtn.ghost:hover{background:var(--border);color:var(--text)}.rbtn.plain{background:none;color:var(--text-3);font-size:11px;font-weight:var(--weight-normal)}.rbtn.plain:hover{color:var(--text-2)}.row-clarify{display:flex;align-items:center;gap:var(--sp-3);flex:1}.row-clarify-input{width:64px;height:28px;border:1px solid var(--border);border-radius:var(--r-md);padding:0 var(--sp-4);font-size:var(--text-sm);font-family:inherit;background:var(--surface);color:var(--text)}.row-clarify-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.row-clarify-input::-webkit-outer-spin-button,.row-clarify-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.row-clarify-input[type=number]{-moz-appearance:textfield}.row-clarify-unit{font-size:var(--text-xs);color:var(--text-3)}.row-clarify-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);border:none;cursor:pointer;font-family:inherit;flex-shrink:0;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.row-clarify-btn:active{transform:scale(.94)}.row-clarify-btn.cancel{background:var(--border-light);color:var(--text-2)}.row-clarify-btn.cancel:hover{background:var(--border);color:var(--text)}.row-clarify-btn.confirm{background:var(--success);color:var(--on-primary)}.row-clarify-btn.confirm:hover{filter:brightness(.95)}.done-div{padding:var(--sp-4) var(--sp-7) var(--sp-1)}.done-div-text{font-size:11px;color:var(--text-3)}.panel{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-7);margin-bottom:var(--sp-5)}.panel-title{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-2);margin-bottom:var(--sp-5)}.row-edit-input{flex:1;font-size:inherit;font-family:inherit;border:1px solid var(--accent);border-radius:var(--r-sm);padding:2px var(--sp-3);color:var(--text);background:var(--surface);outline:none}.row-edit-input:focus{box-shadow:var(--focus-ring)}.task-add-input{display:block;width:100%;height:52px;border:none;background:none;font-size:var(--text-sm);color:var(--text-3);font-family:inherit;padding:0 var(--sp-7);border-top:1px solid var(--border-light)}.task-add-input::placeholder{color:var(--text-3)}.task-add-input:focus{outline:none;color:var(--text);background:var(--border-light)}.task-add-input:hover{background:var(--border-light);color:var(--text-2)}.task-del.confirm{color:var(--danger)}.task-empty{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-7)}.task-empty-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2)}.task-empty-hint{font-size:var(--text-sm);color:var(--text-3);line-height:1.5;text-wrap:pretty}.skel-day-title{width:132px;height:30px;margin-right:var(--sp-5)}.skel-day-date{width:156px;height:16px}.skel-day-nav-btn{width:40px;height:40px;border-radius:var(--r-md)}.skel-task-row{display:flex;align-items:center;gap:var(--sp-6);height:52px;padding:0 var(--sp-7);border-bottom:1px solid var(--border-light)}.skel-task-row:last-child{border-bottom:none}.skel-task-row:before{content:"";width:18px;height:18px;border-radius:var(--r-full);background:var(--border-light);flex-shrink:0}.skel-task-line{flex:1;height:14px;max-width:240px}.skel-panel-title{width:64px;height:12px;margin-bottom:var(--sp-5)}.skel-prog-row{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.skel-prog-row:last-child{margin-bottom:0}.skel-prog-name{width:60%;max-width:180px;height:14px}.skel-prog-meter{display:flex;align-items:center;gap:var(--sp-3)}.skel-prog-track{flex:1;height:4px;border-radius:2px}.skel-prog-pct{width:64px;height:12px;flex-shrink:0}.prog-row{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.prog-row:last-child{margin-bottom:0}.prog-name{font-size:var(--text-sm);color:var(--text-2);line-height:1.3}.prog-meter{display:flex;align-items:center;gap:var(--sp-3)}.prog-track{flex:1;height:4px;background:var(--border);border-radius:2px}.prog-fill{height:100%;border-radius:2px;min-width:4px}.prog-pct{font-size:11px;color:var(--text-3);min-width:32px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}@media (max-width: 768px){.panel-title{margin-bottom:var(--sp-4)}}@media (hover: none){.task-row{min-height:56px;height:auto}.rbtn.ghost{background:none;color:var(--text-3);font-weight:var(--weight-normal);min-height:44px;padding:0 var(--sp-4)}.rbtn.ghost:hover{background:none;color:var(--text-2)}.rbtn.plain{min-height:44px;padding:0 var(--sp-4)}.row-clarify-input{height:44px;width:88px;font-size:var(--text-base)}.row-clarify-btn{width:44px;height:44px}.row-clarify-btn svg{width:18px;height:18px}}.skel-table{height:620px;border-radius:var(--r-lg)}.matrix{position:relative;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-5) var(--sp-7) var(--sp-5) var(--sp-6);overflow:hidden}.matrix-dist-btn{position:absolute;top:var(--sp-4);left:var(--sp-6);z-index:1;font-size:var(--text-xs);padding:var(--sp-1) var(--sp-3)}.dist-all-btn{background:none;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-3);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--sp-2) var(--sp-5);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.dist-all-btn:hover{color:var(--accent);border-color:var(--accent)}.dist-all-btn:active{scale:var(--scale-press)}.dist-all-btn:disabled{opacity:.5;cursor:default}.m-row{display:grid;grid-template-columns:110px repeat(7,1fr) 100px;gap:3px;align-items:center}.m-th{text-align:center;padding:var(--sp-2) 0}.m-th.past{opacity:.5}.m-th-name{display:block;font-size:10px;font-weight:var(--weight-semibold);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.m-th-num{display:block;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-2);font-variant-numeric:tabular-nums}.m-th.today .m-th-name,.m-th.today .m-th-num{color:var(--accent)}.m-goal-row{padding:var(--sp-3) 0;border-bottom:1px solid var(--border-light)}.m-goal-row:last-child{border-bottom:none}.m-label{display:flex;flex-direction:column;gap:2px;padding-right:var(--sp-3);min-width:0}.m-goal-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-book{font-size:var(--text-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-action{background:none;border:none;padding:0;font-size:11px;color:var(--accent);cursor:pointer;text-align:left;opacity:.6;transition:opacity var(--t-fast)}.m-action:hover{opacity:1}.m-cell-wrap{position:relative;display:flex;align-items:center;justify-content:center}.m-cell-wrap.dragging{opacity:.35}.m-cell-wrap.drop-over .m-cell{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-light)}.m-cell{width:100%;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-fast);position:relative}.m-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.m-empty{background:var(--border-light)}.m-empty:hover{background:var(--border)}.m-empty:active:not(.m-disabled){scale:var(--scale-press)}.m-empty.m-past{opacity:.4}.m-empty.m-disabled{cursor:default;opacity:.12}.m-filled{background:var(--fill-accent);color:var(--accent)}.m-filled:hover{background:var(--fill-accent-hover)}.m-filled:active{scale:var(--scale-press)}.m-done{background:var(--fill-success);color:var(--status-good)}.m-done:hover{background:var(--fill-success-hover)}.m-check{position:absolute;top:3px;left:5px;font-size:9px;font-weight:var(--weight-semibold)}.m-cell-wrap.today .m-cell{background:var(--accent-light);box-shadow:inset 0 0 0 1.5px var(--accent)}.m-del{display:none;position:absolute;top:-5px;right:-5px;width:20px;height:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-full);font-size:10px;color:var(--text-3);cursor:pointer;align-items:center;justify-content:center;z-index:2;transition:color var(--t-fast),border-color var(--t-fast)}.m-cell-wrap:hover .m-del{display:flex}.m-del:hover{color:var(--danger);border-color:var(--danger)}@media (hover: none){.m-del{display:flex}}.m-input{width:100%;height:40px;border:2px solid var(--accent);border-radius:var(--r-md);text-align:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);background:var(--surface);-moz-appearance:textfield;font-variant-numeric:tabular-nums}.m-input::-webkit-outer-spin-button,.m-input::-webkit-inner-spin-button{-webkit-appearance:none}.m-input:focus{outline:none;box-shadow:var(--focus-ring)}.m-stat{text-align:right;padding-left:var(--sp-3);white-space:nowrap}.m-stat-done{font-size:var(--text-base);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.m-stat-sep{font-size:var(--text-sm);color:var(--text-3);margin:0 2px}.m-stat-target{font-size:var(--text-sm);color:var(--text-3);font-variant-numeric:tabular-nums}.m-stat-unit{font-size:11px;color:var(--text-3);margin-left:2px}.redist-wrap{position:relative}.redist-btn{height:34px;padding:0 var(--sp-6);background:none;border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-3);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:color var(--t-fast),border-color var(--t-fast)}.redist-btn:hover{color:var(--accent);border-color:var(--accent)}.redist-btn:active{scale:var(--scale-press)}.redist-btn:disabled{opacity:.5;cursor:default}.redist-chevron{width:11px;height:11px;transition:transform var(--t-fast)}.redist-chevron.open{transform:rotate(180deg)}.redist-menu{position:absolute;top:calc(100% + var(--sp-2));right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-popover);min-width:150px;z-index:50;overflow:hidden;animation:fade-in .1s ease}.redist-item{display:block;width:100%;padding:var(--sp-3) var(--sp-5);background:none;border:none;border-bottom:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:left;transition:background-color var(--t-fast)}.redist-item:last-child{border-bottom:none}.redist-item:hover{background:var(--border-light)}@media (max-width: 700px){.m-row{grid-template-columns:repeat(7,1fr)}.m-header .m-label,.m-header .m-stat-col{display:none}.m-goal-row{grid-template-columns:repeat(7,1fr);grid-template-rows:auto auto;gap:2px}.m-goal-row .m-label{grid-column:1 / 5;grid-row:1;padding-bottom:var(--sp-2)}.m-goal-row .m-stat{grid-column:5 / 8;grid-row:1;padding-left:0;padding-bottom:var(--sp-2)}.m-goal-row .m-cell-wrap{grid-row:2}}@media (hover: none){.dist-all-btn,.redist-btn{min-height:44px}}.weeks-table-outer{position:relative;border-radius:var(--r-lg);box-shadow:var(--shadow-card);background:var(--surface);overflow:hidden}.weeks-table-scroll{overflow-x:auto}.wt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.wt thead th{text-align:left;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);font-weight:var(--weight-normal);background:var(--surface);vertical-align:bottom}.wt-th-wk{width:84px}.wt-th-title{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap}.wt-th-unit{display:block;font-size:var(--text-xs);color:var(--text-3);margin-top:2px}.wt tbody tr{transition:background-color var(--t-fast)}.wt tbody tr:not(.wt-cur):hover th,.wt tbody tr:not(.wt-cur):hover td{background:var(--border-light)}.wt tbody th,.wt tbody td{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-light);white-space:nowrap;vertical-align:middle}.wt tbody tr:last-child th,.wt tbody tr:last-child td{border-bottom:none}.wt-wk-cell{text-align:left;font-weight:var(--weight-normal)}.wt-wk-num{display:inline-block;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text);margin-right:var(--sp-5);min-width:16px}.wt-wk-date{font-size:var(--text-xs);color:var(--text-3)}.wt-val-cell{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text)}.wt-actual{color:var(--text)}.wt-slash{font-weight:var(--weight-normal);color:var(--text-3);margin:0 2px}.wt-plan{font-weight:var(--weight-semibold);color:var(--text-3)}.wt-plan.editable{border-bottom:1px dashed var(--text-3);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.wt-plan.editable:hover{border-color:var(--accent);color:var(--accent)}.wt-val-done .wt-actual{color:var(--status-good)}.wt-val-partial .wt-actual{color:var(--status-warn)}.wt-val-missed .wt-actual{color:var(--status-bad)}.wt-val-none .wt-actual,.wt-val-none .wt-plan,.wt-past .wt-wk-num,.wt-past .wt-plan{color:var(--text-3)}.wt-cur th,.wt-cur td{background:var(--accent-light)}.wt-cur .wt-wk-num{color:var(--accent)}.wt-cur .wt-wk-cell{box-shadow:inset 3px 0 0 0 var(--accent)}.wt-edit-input{width:52px;height:24px;padding:0 var(--sp-2);border:1px solid var(--accent);border-radius:var(--r-sm);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);text-align:center;font-weight:var(--weight-semibold);-moz-appearance:textfield;box-shadow:0 0 0 2px var(--accent-light);vertical-align:baseline}.wt-edit-input::-webkit-outer-spin-button,.wt-edit-input::-webkit-inner-spin-button{-webkit-appearance:none}.wt-edit-input:focus{outline:none}
