.notification-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.notification-btn-label{display:inline-flex;align-items:center;justify-content:center;line-height:1}.notification-btn-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 2px 6px #dc262659}.notification-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000073;z-index:9999}.notification-modal-dialog{width:min(960px,92vw);max-height:85vh;display:flex;flex-direction:column;background:transparent;border:none;border-radius:20px;box-shadow:none;overflow:visible}.notification-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:linear-gradient(180deg,#8b6f474d,#6b523833);border-bottom:3px solid #8b6f47}.notification-modal-title{margin:0;font-size:20px;font-weight:700;color:#5a3f2a}.notification-modal-close{background:transparent;border:none;font-size:22px;font-weight:700;color:#6b5238;cursor:pointer}.notification-modal-body{padding:0;overflow:hidden;background:transparent;display:flex;flex-direction:column;min-height:0}.notification-modal-board{width:100%;height:100%;max-height:85vh}.notification-modal-content{height:100%;display:flex;flex-direction:column;min-height:0}.notification-modal-content .notification-modal-body{flex:1}@media(max-width:768px){.notification-modal-dialog{width:94vw;max-height:90vh;border-radius:16px}.notification-modal-header{padding:12px 14px}.notification-modal-body{padding:0}}.notification-board-container{position:relative;background:linear-gradient(135deg,#8b6f47,#6b5238,#8b6f47);border-radius:20px;box-shadow:0 0 0 4px #5a3f2a,0 0 0 8px #8b6f47,0 20px 60px #00000080,inset 0 2px 4px #ffffff1a;overflow:hidden}.notification-board-bg{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),linear-gradient(180deg,#8b6f47cc,#6b5238e6,#8b6f47cc);pointer-events:none;z-index:0}.wood-grain{position:absolute;inset:0;background-image:radial-gradient(ellipse at 20% 30%,rgba(0,0,0,.1) 0%,transparent 50%),radial-gradient(ellipse at 60% 70%,rgba(0,0,0,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 40%,rgba(0,0,0,.06) 0%,transparent 50%);opacity:.6;animation:woodGrainShift 20s ease-in-out infinite}@keyframes woodGrainShift{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(10px) translateY(5px)}}.board-decoration{position:absolute;font-size:24px;opacity:.4;pointer-events:none;animation:float 6s ease-in-out infinite}.leaf-1{top:10px;left:20px;animation-delay:0s}.leaf-2{top:15px;right:30px;animation-delay:2s}.leaf-3{bottom:20px;left:15px;animation-delay:4s}.branch-1{top:50%;right:10px;transform:rotate(45deg);animation-delay:1s}.branch-2{bottom:30px;right:25px;transform:rotate(-30deg);animation-delay:3s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}.notification-board-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;background:#fff8ebf2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.notification-board-header{padding:24px 28px;background:linear-gradient(180deg,#8b6f474d,#6b523833);border-bottom:3px solid #8b6f47;box-shadow:inset 0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.board-title-wrapper{display:flex;flex-direction:column;gap:6px}.board-title{margin:0;display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;color:#5a3f2a;text-shadow:2px 2px 0 rgba(255,255,255,.5),0 0 8px rgba(139,111,71,.3);font-family:Noto Sans JP,sans-serif;letter-spacing:1px}.board-title-icon{font-size:28px;animation:titleIconBounce 3s ease-in-out infinite}@keyframes titleIconBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-5deg)}75%{transform:translateY(-3px) rotate(5deg)}}.board-title-text{position:relative}.board-title-text:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#8b6f47,transparent);opacity:.5}.board-subtitle{font-size:13px;color:#6b5238;font-weight:600;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.board-count{color:#c2410c;font-weight:700;font-size:14px;animation:countPulse 2s ease-in-out infinite}@keyframes countPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.board-close-btn{background:#8b6f474d;border:2px solid #8b6f47;color:#5a3f2a;font-size:28px;width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:inset 0 2px 4px #ffffff4d,0 2px 4px #0003;font-weight:700;line-height:1}.board-close-btn:hover{background:#c2410c33;border-color:#c2410c;transform:rotate(90deg) scale(1.1);box-shadow:inset 0 2px 4px #fff6,0 4px 8px #c2410c4d}.notification-board-tabs{display:flex;border-bottom:3px solid #8b6f47;background:linear-gradient(180deg,#fff8ebcc,#faf0dce6);box-shadow:inset 0 2px 4px #0000000d}.board-tab{flex:1;padding:16px 20px;border:none;background:transparent;font-size:14px;font-weight:600;color:#6b5238;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;font-family:Noto Sans JP,sans-serif}.board-tab:before{content:"";position:absolute;bottom:-3px;left:0;right:0;height:3px;background:#8b6f47;transform:scaleX(0);transition:transform .3s ease}.board-tab.active{color:#5a3f2a;background:#fff8eb99;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.board-tab.active:before{transform:scaleX(1)}.board-tab:hover:not(.active){background:#8b6f471a;color:#8b6f47}.tab-icon{font-size:18px;transition:transform .3s ease}.board-tab:hover .tab-icon{transform:scale(1.2) rotate(5deg)}.board-tab-badge{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,#c2410c,#dc2626);color:#fff;border-radius:12px;font-size:11px;font-weight:700;box-shadow:0 2px 4px #c2410c66,inset 0 1px 2px #ffffff4d;animation:badgeGlow 2s ease-in-out infinite}@keyframes badgeGlow{0%,to{box-shadow:0 2px 4px #c2410c66,inset 0 1px 2px #ffffff4d}50%{box-shadow:0 2px 8px #c2410c99,0 0 12px #c2410c4d,inset 0 1px 2px #ffffff4d}}.notification-board-filters{padding:14px 20px;border-bottom:2px solid #d4a574;background:linear-gradient(180deg,#fff8eb99,#faf0dccc);display:flex;gap:10px;align-items:center;flex-wrap:wrap;box-shadow:inset 0 2px 4px #0000000d}.board-filter-btn{padding:8px 16px;border:2px solid #d4a574;border-radius:8px;background:#fff8ebcc;font-size:13px;font-weight:600;color:#6b5238;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;box-shadow:inset 0 1px 2px #ffffff80,0 2px 4px #0000001a;font-family:Noto Sans JP,sans-serif}.board-filter-btn:hover{background:#d4a57433;transform:translateY(-2px);box-shadow:inset 0 1px 2px #fff9,0 4px 8px #00000026}.board-filter-btn.active{background:linear-gradient(135deg,#8b6f47,#6b5238);color:#fff;border-color:#5a3f2a;text-shadow:1px 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 2px 4px #0003,0 2px 6px #8b6f4766}.filter-icon{font-size:14px;transition:transform .3s ease}.board-filter-btn:hover .filter-icon{transform:rotate(15deg) scale(1.2)}.board-mark-all-btn{padding:8px 16px;border:2px solid #84a98c;border-radius:8px;background:linear-gradient(135deg,#84a98c,#6b8e6b);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px;box-shadow:inset 0 1px 2px #ffffff4d,0 2px 4px #84a98c66;font-family:Noto Sans JP,sans-serif}.board-mark-all-btn:hover{background:linear-gradient(135deg,#6b8e6b,#5a7a5a);transform:translateY(-2px);box-shadow:inset 0 1px 2px #fff6,0 4px 8px #84a98c80}.mark-all-icon{font-size:16px;transition:transform .3s ease}.board-mark-all-btn:hover .mark-all-icon{transform:scale(1.3) rotate(360deg)}.notification-board-list{flex:1;overflow-y:auto;padding:20px;background:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(139,111,71,.03) 40px,rgba(139,111,71,.03) 41px),linear-gradient(180deg,#fff8eb66,#faf0dc99);min-height:0;position:relative}.notification-board-list::-webkit-scrollbar{width:12px}.notification-board-list::-webkit-scrollbar-track{background:#8b6f471a;border-radius:6px}.notification-board-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8b6f47,#6b5238);border-radius:6px;border:2px solid rgba(255,248,235,.3)}.notification-board-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6b5238,#5a3f2a)}.board-empty-state{padding:80px 20px;text-align:center;color:#8b6f47}.empty-icon{font-size:64px;margin-bottom:16px;animation:emptyIconFloat 4s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(139,111,71,.3))}@keyframes emptyIconFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}.empty-title{font-size:18px;font-weight:700;color:#6b5238;margin-bottom:8px;text-shadow:1px 1px 2px rgba(255,255,255,.5);font-family:Noto Sans JP,sans-serif}.empty-subtitle{font-size:14px;color:#8b6f47;opacity:.8}.notification-card{position:relative;background:linear-gradient(180deg,#fffef7,#faf8f0);border-radius:8px;padding:18px 20px;margin-bottom:16px;border:2px solid #e8dcc6;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #0000001a,inset 0 1px #fffc,inset 0 -1px #8b6f471a;animation:cardAppear .5s ease-out;transform-origin:top center}@keyframes cardAppear{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-card:before{content:"📌";position:absolute;top:-8px;left:20px;font-size:20px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:pinShine 3s ease-in-out infinite;z-index:2}@keyframes pinShine{0%,to{transform:rotate(0) scale(1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}50%{transform:rotate(5deg) scale(1.1);filter:drop-shadow(0 4px 8px rgba(255,215,0,.6))}}.notification-card:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px),radial-gradient(circle at 20% 30%,rgba(139,111,71,.03) 0%,transparent 50%);pointer-events:none;border-radius:8px}.notification-card.unread{background:linear-gradient(180deg,#fff9e6,#fff5d6);border-color:#d4a574;box-shadow:0 6px 16px #d4a5744d,inset 0 1px #ffffffe6,inset 0 -1px #d4a57433,0 0 0 2px #d4a57433;animation:unreadCardGlow 2s ease-in-out infinite}@keyframes unreadCardGlow{0%,to{box-shadow:0 6px 16px #d4a5744d,inset 0 1px #ffffffe6,inset 0 -1px #d4a57433,0 0 0 2px #d4a57433}50%{box-shadow:0 8px 20px #d4a57466,inset 0 1px #ffffffe6,inset 0 -1px #d4a5744d,0 0 0 3px #d4a5744d}}.notification-card.admin{border-top:3px solid #8b6f47}.notification-card.game{border-top:3px solid #84a98c}.notification-card:hover{transform:translateY(-4px) rotate(.5deg);box-shadow:0 8px 24px #00000026,inset 0 1px #ffffffe6,inset 0 -1px #8b6f4726;border-color:#d4a574}.notification-card.unread:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 10px 28px #d4a57466,inset 0 1px #ffffffe6,inset 0 -1px #d4a5744d,0 0 0 3px #d4a5744d}.notification-card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:10px;position:relative;z-index:1}.notification-icon{font-size:28px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff8ebe6,#faf0dce6);border:2px solid #e8dcc6;border-radius:12px;box-shadow:inset 0 2px 4px #fffc,0 2px 4px #0000001a;transition:all .3s ease}.notification-card:hover .notification-icon{transform:scale(1.1) rotate(5deg);box-shadow:inset 0 2px 4px #ffffffe6,0 4px 8px #00000026}.notification-card.admin .notification-icon{background:linear-gradient(135deg,#8b6f4733,#6b52384d);border-color:#8b6f47}.notification-card.game .notification-icon{background:linear-gradient(135deg,#84a98c33,#6b8e6b4d);border-color:#84a98c}.notification-content{flex:1;min-width:0;position:relative;z-index:1}.notification-title{font-size:16px;font-weight:700;color:#5a3f2a;margin-bottom:6px;line-height:1.4;text-shadow:1px 1px 1px rgba(255,255,255,.8);font-family:Noto Sans JP,sans-serif;letter-spacing:.5px}.notification-card.unread .notification-title{color:#8b6f47;font-weight:800}.notification-message{font-size:13px;color:#6b5238;line-height:1.6;margin-bottom:10px;opacity:.9;font-family:Noto Sans JP,sans-serif}.notification-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b6f47;flex-wrap:wrap}.notification-category{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#8b6f4726;border:1px solid rgba(139,111,71,.3);border-radius:12px;font-weight:600;font-size:11px;box-shadow:inset 0 1px 2px #ffffff80}.notification-card.admin .notification-category{background:#8b6f4733;border-color:#8b6f47;color:#6b5238}.notification-card.game .notification-category{background:#84a98c33;border-color:#84a98c;color:#5a7a5a}.notification-priority-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:8px;font-size:10px;font-weight:700;box-shadow:inset 0 1px 2px #ffffff80}.notification-priority-badge.high{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #fca5a5}.notification-priority-badge.medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.notification-priority-badge.low{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563;border:1px solid #d1d5db}.notification-unread-indicator{position:absolute;top:12px;right:12px;width:10px;height:10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;box-shadow:0 0 8px #fbbf2499,inset 0 1px 2px #ffffff80;animation:indicatorPulse 2s ease-in-out infinite;z-index:2}@keyframes indicatorPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 8px #fbbf2499,inset 0 1px 2px #ffffff80}50%{opacity:.8;transform:scale(1.3);box-shadow:0 0 16px #fbbf24cc,inset 0 1px 2px #fff9}}@media(max-width:768px){.notification-board-container{max-width:95vw!important;width:calc(100% - 16px)!important;max-height:95vh!important;height:90vh!important}.notification-board-header{padding:16px 20px}.board-title{font-size:20px}.board-title-icon{font-size:24px}.notification-card{padding:14px 16px}.notification-icon{width:40px;height:40px;font-size:24px}.notification-title{font-size:15px}.notification-message{font-size:12px}.board-decoration{font-size:18px}}.notification-detail-back{margin:0 0 10px;padding:6px 12px;border:1px solid #d6c7a1;border-radius:999px;background:#fffaf0;color:#5b4636;font-size:12px;font-weight:700;cursor:pointer;min-height:36px}.notification-detail-card{padding:14px;background:#fffdf7;border:2px solid #e8d9b5;border-radius:12px}.notification-detail-head{display:flex;gap:10px;align-items:flex-start}.notification-detail-icon{font-size:22px;line-height:1}.notification-detail-main{flex:1;min-width:0}.notification-detail-title{font-weight:800;font-size:14px;color:#111827;word-break:break-word}.notification-detail-body{margin-top:6px;font-size:12px;color:#374151;white-space:pre-wrap;word-break:break-word;line-height:1.7}.notification-detail-meta{margin-top:10px;font-size:11px;color:#6b7280}.notification-detail-actions{margin-top:12px;display:flex;justify-content:flex-end}.notification-unread-toggle{padding:6px 12px;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-size:12px;cursor:pointer;min-height:36px}.notification-link-btn{display:inline-block;margin-top:10px;padding:8px 14px;border-radius:999px;background:#d97706;color:#fff!important;font-size:12px;font-weight:700;text-decoration:none;min-height:36px;line-height:20px}.notification-link-btn:hover{background:#b45309}.notification-loading{padding:24px;text-align:center;color:#6b7280;font-size:12px}.notification-guest-note{margin:6px 0 10px;padding:8px 12px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:12px}.board-mark-all-btn:disabled{opacity:.45;cursor:not-allowed}.notification-message .rich-text-link,.notification-detail-body .rich-text-link{color:#b45309;text-decoration:underline;text-underline-offset:2px;font-weight:600}.notification-message .rich-text-link:hover,.notification-detail-body .rich-text-link:hover{color:#92400e}.notification-message strong,.notification-detail-body strong{font-weight:800}@media(max-width:768px),(max-height:520px)and (pointer:coarse){.notification-modal-backdrop{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-sizing:border-box}.notification-modal-dialog{width:100%;max-height:100%;min-height:0}.notification-modal-dialog .notification-board-container{width:100%!important;max-width:100%!important;height:min(760px,calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))!important;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:12px;box-shadow:0 0 0 3px #8b6f47,0 12px 30px #0005}.notification-modal-dialog .notification-board-header{flex:none;padding:6px 10px;gap:6px}.notification-modal-dialog .board-title{font-size:16px;gap:6px;letter-spacing:0}.notification-modal-dialog .board-title-wrapper{min-width:0;gap:2px}.notification-modal-dialog .board-title-icon{font-size:20px}.notification-modal-dialog .board-close-btn{width:44px;height:44px;flex:none}.notification-modal-dialog .board-close-btn:hover{transform:none}.notification-modal-dialog .notification-board-tabs{flex:none}.notification-modal-dialog .board-tab{min-height:44px;padding:6px;gap:5px;font-size:13px}.notification-modal-dialog .notification-board-filters{flex:none;padding:6px 8px;gap:5px}.notification-modal-dialog :is(.board-filter-btn,.board-mark-all-btn){min-height:44px;padding:6px 8px;font-size:12px}.notification-modal-dialog .notification-board-list{padding:8px;overscroll-behavior:contain}.notification-modal-dialog .notification-card{padding:10px;margin-bottom:8px}.notification-modal-dialog .notification-icon{width:28px;height:28px;font-size:19px;flex:none}.notification-modal-dialog .notification-content{min-width:0;overflow-wrap:anywhere}.notification-modal-dialog .notification-title{font-size:14px}.notification-modal-dialog .notification-detail-card{padding:10px}.notification-modal-dialog :is(.notification-detail-back,.notification-unread-toggle,.notification-link-btn){min-height:44px}}body.sleep-zone-active .project-category-box-bottom,body.sleep-zone-active .project-category-box-bottom *,body.sleep-zone-active #category-list,body.sleep-zone-active #category-list *{visibility:hidden!important;pointer-events:none!important}body.sleep-zone-active .project-category-box-top{position:relative}body.sleep-zone-active #sleepProjectBtn{position:absolute;left:0;top:50%;transform:translateY(-50%)}#sleepProjectBtn{--chip-accent: #8b5cf6;cursor:default;transition:none}.sleep-zone-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-top:8px;box-shadow:0 2px 8px #667eea4d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.sleep-action-btn{box-sizing:border-box;height:28px;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0 9px;border-radius:10px;font-size:12px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid #667eea}.sleep-action-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.sleep-action-btn.sleeping{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#f093fb;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 5px #f093fb80}50%{box-shadow:0 0 20px #f093fbcc}}.sleep-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);pointer-events:none;z-index:999;animation:fadeIn 1s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sleep-notification{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-20px);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 4px 16px #667eea66;z-index:10000;opacity:0;transition:all .3s ease-in-out}.sleep-notification.show{opacity:1;transform:translate(-50%) translateY(0)}.sleep-notification-title{font-size:16px;font-weight:700;margin-bottom:4px}.sleep-notification-message{font-size:13px;opacity:.9}.sleep-morning-toast{position:absolute;top:12px;left:50%;z-index:40;box-sizing:border-box;width:min(460px,calc(100% - 32px));overflow:hidden;border:1px solid rgba(255,214,163,.35);border-radius:12px;background:#141d33f2;color:#fff3df;box-shadow:0 10px 28px #070c1a73;transform:translate(-50%);pointer-events:none;animation:sleepMorningIn .45s ease-out;transition:opacity .6s ease,transform .6s ease}.sleep-morning-toast.is-fixed{position:fixed;z-index:10001}.sleep-morning-toast.is-leaving{opacity:0;transform:translate(-50%,-6px)}.sleep-morning-toast__banner{position:relative;height:120px;overflow:hidden;background:linear-gradient(to top,#0c1616 0 8px,#14241f 8px 20px,#1c3230 20px 24px,#0f2629 24px 30px,#2b2b55 30px 36px,#d0866c 36px 40px,#a2626c 40px 46px,#6e4c6e 46px 54px,#45386a 54px 64px,#2c2b60 64px 74px,#1d2452 74px 88px,#121a3f 88px 102px,#0b1230 102px)}.sleep-morning-toast--plain .sleep-morning-toast__banner{height:64px;background:linear-gradient(to top,#d0866c 0 6px,#a2626c 6px 12px,#6e4c6e 12px 20px,#45386a 20px 30px,#2c2b60 30px 40px,#1d2452 40px 52px,#121a3f 52px)}.sleep-morning-toast__art{position:absolute;bottom:0;left:50%;width:360px;height:120px;max-width:none;transform:translate(-50%);image-rendering:pixelated}.sleep-morning-toast__glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 75% at 50% 118%,#ffc88c8c,#ffc88c00 72%);mix-blend-mode:screen;animation:sleepMorningGlow 4s ease-in-out infinite alternate}.sleep-morning-toast__embers i{position:absolute;bottom:14px;width:2px;height:2px;background:#ffb45c;opacity:0;animation:sleepMorningEmber 3.6s linear infinite}.sleep-morning-toast__embers i:nth-child(1){left:44%;animation-delay:0s}.sleep-morning-toast__embers i:nth-child(2){left:50%;width:1px;height:1px;animation-delay:.7s}.sleep-morning-toast__embers i:nth-child(3){left:55%;animation-delay:1.4s}.sleep-morning-toast__embers i:nth-child(4){left:47%;width:1px;height:1px;animation-delay:2.1s}.sleep-morning-toast__embers i:nth-child(5){left:53%;animation-delay:2.8s}.sleep-morning-toast__body{padding:10px 16px 12px}.sleep-morning-toast__title{margin:0 0 4px;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.02em}.sleep-morning-toast__time{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:13px;color:#f6dcc0}.sleep-morning-toast__duration{font-size:22px;font-weight:700;color:#ffd6a3;font-variant-numeric:tabular-nums}.sleep-morning-toast__goal{margin:6px 0 0;font-size:12px;color:#c8ecc9}@keyframes sleepMorningIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes sleepMorningGlow{0%{opacity:.55}to{opacity:1}}@keyframes sleepMorningEmber{0%{opacity:0;transform:translate(0)}15%{opacity:.9}to{opacity:0;transform:translate(6px,-56px)}}.sleep-morning-toast.is-reduced-motion,.sleep-morning-toast.is-reduced-motion *{animation:none!important;transition:none!important}.sleep-morning-toast.is-reduced-motion .sleep-morning-toast__embers{display:none}@media(prefers-reduced-motion:reduce){.sleep-morning-toast,.sleep-morning-toast *{animation:none!important;transition:none!important}.sleep-morning-toast__embers{display:none}}@media(max-width:768px){.sleep-zone-badge{font-size:11px;padding:4px 10px}.sleep-notification{top:10px;padding:12px 16px}.sleep-morning-toast{top:8px;width:calc(100% - 32px)}.sleep-morning-toast__banner{height:96px}.sleep-morning-toast--plain .sleep-morning-toast__banner{height:48px}}.laundry-sleep-card{position:fixed;right:16px;bottom:16px;width:min(360px,90vw);z-index:100001;background:#182b38;color:#f4e5c0;border:1px solid #ac905c;border-radius:8px;overflow:hidden;box-shadow:0 3px 14px #0008;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:8px}.laundry-sleep-card img{width:100%;aspect-ratio:3/1;object-fit:cover;image-rendering:pixelated}.laundry-sleep-card strong{font-size:13px;margin-left:8px;flex:1}.laundry-sleep-card button{margin-right:8px;padding:6px 10px;background:#e4ce98;color:#172b36;border:1px solid #b29a68;border-radius:4px;cursor:pointer}.sleep-notification.is-centered{top:50%;left:50%;width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;transform:translate(-50%,-50%);text-align:center}.sleep-notification.is-centered.show{transform:translate(-50%,-50%)}.sleep-notification.is-bgm-timer{top:auto;bottom:max(24px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;background:linear-gradient(135deg,#243e46,#263348);border:1px solid #cbbd8b;color:#f3ead1;border-radius:14px;padding:12px 20px;box-shadow:0 4px 20px #101c3033;text-align:center}.sleep-notification.is-bgm-timer .sleep-notification-title{font-size:13px;color:#d9cfae;font-weight:500}.sleep-notification.is-bgm-timer .sleep-notification-message{font-size:14px}#todoChipBtn{position:relative;padding:5px 9px;border:none;border-radius:6px;background:transparent;color:#fff;font-weight:700;font-size:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,filter .2s ease,box-shadow .2s ease;overflow:visible;z-index:1;background:#0047ab;box-shadow:0 0 4px #0052cc4d,0 1px 2px #0000001a}#todoChipBtn:before{content:"";position:absolute;inset:0;border-radius:6px;background:transparent;z-index:0;pointer-events:none}#todoChipBtn:after{content:"";position:absolute;inset:0;border-radius:6px;background:transparent;z-index:0;pointer-events:none}#todoChipBtn:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 0 6px #0052cc66,0 2px 4px #00000026}#todoChipBtn:hover:before{opacity:1}#todoChipBtn:hover:after{opacity:.9}#todoChipBtn:active{transform:translateY(0);filter:brightness(.9);box-shadow:0 0 4px #0052cc80,0 1px 2px #0003}#todoChipBtn:active:before{opacity:1;background:transparent}#todoChipBtn{text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.3px;position:relative;z-index:1}@media(max-width:768px){#todoChipBtn{padding:5px 9px;font-size:12px}#todoChipBtn:active{transform:translateY(0)}}#todoChipBtn:focus{outline:none;box-shadow:0 0 6px #0052cc66,0 2px 4px #00000026,0 0 0 3px #0052cc40}.routine-list{padding:4px 2px 16px;box-sizing:border-box;max-height:400px;overflow-y:auto}.routine-list::-webkit-scrollbar{width:6px}.routine-list::-webkit-scrollbar-track{background:transparent}.routine-list::-webkit-scrollbar-thumb{background-color:#0ea5e94d;border-radius:3px}.routine-list::-webkit-scrollbar-thumb:hover{background-color:#0ea5e980}.routine-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.routine-date-banner{margin:2px 0 10px;padding:6px 10px;border-radius:10px;border:1px solid rgba(14,165,233,.22);background:#ffffffd9;color:#0c4a6e;font-weight:800;font-size:12px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px}.routine-date-banner:before{content:"📅";font-size:12px;opacity:.9}.routine-toolbar__btn{border-radius:12px;border:2px solid rgba(14,165,233,.35);background:#fffffff2;color:#0ea5e9;font-weight:600;font-size:13px;padding:12px 16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 2px 6px #0ea5e926}.routine-toolbar__btn--add{border-style:dashed;flex:0 0 180px;min-width:160px}.routine-toolbar__btn--calendar{flex:1;min-width:180px;color:#0c4a6e;border-style:solid;background:#fffffffa}.routine-toolbar__btn:is(:hover,:focus-visible){border-color:#0ea5e9cc;box-shadow:0 4px 12px #0ea5e940;transform:translateY(-1px)}.routine-toolbar__btn.is-disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.routine-limit-msg{font-size:12px;color:#ef4444;padding:8px;background:#fef2f2;border-radius:8px;width:100%;text-align:center}.routine-group{margin-bottom:20px}.routine-group__header{font-size:13px;font-weight:700;color:#64748b;margin-bottom:10px;padding-left:6px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f1f5f9;padding-bottom:4px}.routine-group__header.is-completed{color:#059669}.routine-group__status{font-size:10px;background:#d1fae5;color:#065f46;padding:2px 8px;border-radius:99px;font-weight:600}.routine-group__header.is-missed{color:#b45309}.routine-group__header.is-rest{color:#64748b;opacity:.9}.routine-group__status.is-done{background:#d1fae5;color:#065f46}.routine-group__status.is-missed{background:#ffedd5;color:#9a3412}.routine-group__status.is-rest{background:#e2e8f0;color:#334155}.routine-card{background:#fff;border-radius:10px;border:1px solid #e2e8f0;border-left:5px solid #94a3b8;--routine-accent: #94a3b8;--routine-accent-contrast: #ffffff;box-shadow:0 2px 8px #0000000a;margin-bottom:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s ease,border-color .2s ease}.routine-card--rest{opacity:.45;filter:saturate(.85)}.routine-card--rest:hover{opacity:.55}.routine-card[data-category=創作]{--routine-accent: var(--fixed-cat-0, #ec4899)}.routine-card[data-category=勉強]{--routine-accent: var(--fixed-cat-1, #3b82f6)}.routine-card[data-category=仕事]{--routine-accent: var(--fixed-cat-2, #f59e0b);--routine-accent-contrast: var(--fixed-cat-2-text, #7c2d12)}.routine-card[data-category=生活]{--routine-accent: var(--fixed-cat-3, #10b981)}.routine-card[data-category=趣味]{--routine-accent: var(--fixed-cat-4, #a855f7)}.routine-card[data-category=その他]{--routine-accent: var(--fixed-cat-5, #0f766e)}.routine-card:hover{box-shadow:0 4px 16px #00000014}.routine-card--done{border-left-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#fff 30%)}.routine-card--progress{border-left-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#fff 30%)}.routine-card--todo{border-left-color:#cbd5e1}.routine-card__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.routine-card__title-row{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.routine-card__icon{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:50%;background:#f1f5f9;color:#64748b;font-weight:600}.routine-card--done .routine-card__icon{background:#d1fae5;color:#059669}.routine-card--progress .routine-card__icon{background:#dbeafe;color:#2563eb}.routine-card__title{font-size:15px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routine-card--done .routine-card__title{color:#047857}.routine-card__start{flex-shrink:0;padding:6px 14px;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #2563eb40;transition:transform .15s ease,box-shadow .15s ease}.routine-card__start:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2563eb59}.routine-card__start:active{transform:scale(.97)}.routine-card__progress{display:flex;flex-direction:column;gap:6px}.routine-card__bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.routine-card__bar-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:4px;transition:width .4s ease}.routine-card--done .routine-card__bar-fill{background:linear-gradient(90deg,#34d399,#10b981)}.routine-card__status-row{display:flex;justify-content:space-between;align-items:center}.routine-card__time{font-size:13px;font-weight:600;color:#475569}.routine-card__badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#64748b}.routine-card__badge.is-done{background:#d1fae5;color:#047857}.routine-card__badge.is-progress{background:#dbeafe;color:#1d4ed8}.routine-card__badge.is-todo{background:#f1f5f9;color:#64748b}.routine-card__footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f1f5f9;padding-top:8px;margin-top:2px}.routine-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-size:11px;color:#64748b}.routine-card__meta-item{white-space:nowrap}.routine-card__meta-sep{color:#cbd5e1;margin:0 4px}.routine-card__menu{position:relative}.routine-card__menu-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.routine-card__menu-btn:hover{background:#f1f5f9;color:#64748b}.routine-card__menu-panel{position:absolute;top:32px;right:0;min-width:140px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 30px #00000026;padding:4px;display:none;z-index:20}.routine-card__marker{width:12px;height:12px;flex-shrink:0;border-radius:999px;border:1px solid rgba(148,163,184,.85);background:#f8fafce6;position:relative}.routine-card__marker.is-ghost{opacity:0;border-color:transparent;background:transparent}.routine-card__marker.is-progress{border-color:#3b82f68c;background:#3b82f61a}.routine-card__marker.is-done{border-color:#10b9818c;background:#10b98124}.routine-card__marker.is-done:after{content:"";position:absolute;left:3px;top:1px;width:3px;height:6px;border:solid rgba(16,185,129,.95);border-width:0 2px 2px 0;transform:rotate(45deg)}.routine-card__label-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.routine-card__label{font-size:11px;font-weight:600;padding:3px 8px;border-radius:12px;white-space:nowrap;letter-spacing:.01em}.routine-card__label--mode{background:#dbeafe;color:#1e40af}.routine-card--done .routine-card__label--mode{background:#d1fae5;color:#047857}.routine-card__label--schedule{background:#fef3c7;color:#92400e}.routine-card__label--target{background:#e0e7ff;color:#4338ca}.routine-card--single{padding:12px 16px;gap:0;position:relative}.routine-card--single>.routine-card__menu{position:absolute;top:8px;right:8px;z-index:10}.routine-card__card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:36px}.routine-card__card-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.routine-card__card-subrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-right:36px}.routine-card__name{font-size:15px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.routine-card--done .routine-card__name{color:#047857}.routine-card__progress-display{display:flex;align-items:baseline;gap:4px;font-size:13px;min-width:80px;justify-content:flex-end}.routine-card__progress-value{font-weight:700;color:#3b82f6}.routine-card__progress-display.is-complete .routine-card__progress-value{color:#059669}.routine-card__progress-display.is-empty .routine-card__progress-empty{color:#94a3b8;font-weight:500}.routine-card__progress-unit{font-size:11px;color:#64748b;font-weight:500}.routine-card__progress-sep{color:#cbd5e1;font-weight:400}.routine-card__progress-target{color:#64748b;font-weight:500;font-size:12px}.routine-card__focus-mutebtn{background:#fff3c4!important;border:1px solid rgba(245,158,11,.85);color:#3b2900f2;font-weight:800;box-shadow:0 1px #0000001a;height:26px;padding:0 10px;font-size:11px;border-radius:8px}.routine-card__focus-mutebtn:hover{background:#ffe8a6!important}.routine-card__focus-mutebtn:active{background:#ffdd72!important}.routine-card__work-mutebtn{background:#fffffff0!important;border:1px solid rgba(148,163,184,.85);color:#0f172a;font-weight:800;box-shadow:0 1px #00000014;height:26px;padding:0 10px;font-size:11px;border-radius:8px}.routine-card__work-mutebtn:hover{background:#f1f5f9fa!important}.routine-card__work-mutebtn:active{background:#e2e8f0!important}.routine-card--multi{padding:0;gap:0;position:relative}.routine-card--multi>.routine-card__menu{position:absolute;top:10px;right:10px;z-index:10}.routine-card__multi-header{display:flex;flex-direction:column;gap:6px;padding:10px 44px 8px 14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px 10px 0 0}.routine-card__label-group--header{flex:1;min-width:0}.routine-card__bundle-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0}.routine-card__bundle-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.routine-card__bundle-title{display:inline-flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;max-width:100%;min-height:28px;padding:4px 10px;--bundle-hex-cut: 12px;border-radius:0;clip-path:polygon(var(--bundle-hex-cut) 0%,calc(100% - var(--bundle-hex-cut)) 0%,100% 50%,calc(100% - var(--bundle-hex-cut)) 100%,var(--bundle-hex-cut) 100%,0% 50%);background:linear-gradient(135deg,color-mix(in srgb,var(--routine-accent) 92%,white),color-mix(in srgb,var(--routine-accent) 82%,#0f172a));border:1px solid color-mix(in srgb,var(--routine-accent) 78%,#0f172a);box-shadow:inset 0 1px #ffffff47,0 4px 10px #0f172a1a;font-size:11px;font-weight:800;color:var(--routine-accent-contrast);text-shadow:0 1px 0 rgba(15,23,42,.22);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routine-card__bundle-title:before{display:none}.routine-card[data-category=仕事] .routine-card__bundle-title{text-shadow:none}.routine-card__project-list{list-style:none;margin:0;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.routine-card__project-item{display:grid;grid-template-columns:22px minmax(0,1fr) 82px;align-items:center;column-gap:10px;font-size:13px;color:#334155;padding:6px 8px;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,box-shadow .15s ease,border-color .15s ease;border:1px solid transparent}.routine-card__project-item:hover{background:#f1f5f9e6}.routine-card__project-item.is-selected{background:color-mix(in srgb,var(--routine-accent) 10%,white);border-color:color-mix(in srgb,var(--routine-accent) 30%,#e2e8f0);box-shadow:0 6px 14px #0f172a1a}.routine-card__project-check{width:16px;height:16px;accent-color:var(--routine-accent);pointer-events:none}.routine-card__project-name{display:inline-block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routine-card__project-today{font-size:12px;font-weight:800;text-align:right;color:#0f172a;opacity:.85;white-space:nowrap}.routine-card__project-item.is-primary .routine-card__project-name{font-weight:800;color:#0f172a}.routine-card--done .routine-card__project-item.is-primary .routine-card__project-name,.routine-card--done .routine-card__project-item{color:#047857}.routine-card__multi-footer{padding:10px 14px;background:#fff;border-radius:0 0 10px 10px;border-top:1px solid #e2e8f0}.routine-card__progress-section{display:flex;flex-direction:column;gap:8px}.routine-card__progress-text{display:flex;align-items:baseline;gap:4px;font-size:13px}.routine-card__progress-text .routine-card__progress-empty{font-weight:800;color:#64748b}.routine-card__progress-text.is-active .routine-card__progress-empty{color:#3b82f6}.routine-card__progress-text.is-complete .routine-card__progress-empty{color:#059669}.routine-card__progress-text.is-complete{color:#059669;font-weight:700}.routine-card__progress-text.is-active{color:#1e293b}.routine-card__progress-text.is-empty{color:#64748b}.routine-card__progress-icon{font-size:16px;margin-right:2px}.routine-card__progress-value--current{font-weight:700;font-size:16px;color:#3b82f6}.routine-card__progress-value--target{font-weight:500;color:#64748b}.routine-card__progress-remain{color:#f59e0b;font-weight:600;margin-left:6px;font-size:12px}.routine-card__progress-empty{color:#94a3b8;font-weight:500}.routine-card__progress-bar-container{margin-top:2px}.routine-card__progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;position:relative}.routine-card__progress-bar-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:3px;transition:width .4s ease}.routine-card--done .routine-card__progress-bar-fill{background:linear-gradient(90deg,#34d399,#10b981)}.routine-card--progress .routine-card__progress-bar-fill{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.routine-card__menu.is-open .routine-card__menu-panel{display:block}.routine-card__menu-item{width:100%;border:none;background:transparent;text-align:left;padding:10px;border-radius:10px;font-size:12px;font-weight:800;color:#334155;cursor:pointer}.routine-card__menu-item:hover{background:#f1f5f9}.routine-card__menu-item.is-danger{color:#b91c1c}.routine-card__menu-item.is-danger:hover{background:#fee2e2}.routine-empty{text-align:center;padding:24px 16px;border:2px dashed rgba(14,165,233,.35);border-radius:16px;background:#ffffffd9;color:#0f172a;font-size:13px;line-height:1.5}.routine-empty__icon{font-size:32px;margin-bottom:8px}.routine-empty strong{display:block;font-size:14px;margin-bottom:6px}.routine-form{border:1px solid #e2e8f0;border-radius:16px;padding:18px;background:#fff;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:12px}.routine-form__label{font-size:12px;font-weight:700;color:#334155;margin-bottom:4px}.routine-form__input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.routine-form__input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.routine-form__presets{display:flex;gap:8px;flex-wrap:wrap}.routine-preset-btn{padding:4px 10px;font-size:11px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer}.routine-preset-btn:hover{background:#e2e8f0}.routine-form__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:8px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#f1f5f9b3,#ffffffe6)}.routine-form__day-input{display:none}.routine-weekday{display:contents}.routine-form__day-label{padding:10px 0;border:1px solid #cbd5e1;border-radius:8px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease;background:#fff;text-align:center;-webkit-user-select:none;user-select:none}.routine-form__day-input:checked+.routine-form__day-label{border-color:#0ea5e9e6;background:#e0f2fee6;color:#0369a1;box-shadow:0 1px #0284c740;transform:translateY(-1px)}.routine-form__days .routine-weekday[data-day=土] .routine-form__day-label,.routine-form__days .routine-weekday[data-day=日] .routine-form__day-label{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7ed)}.routine-form__days .routine-weekday[data-day=土] .routine-form__day-input:checked+.routine-form__day-label,.routine-form__days .routine-weekday[data-day=日] .routine-form__day-input:checked+.routine-form__day-label{border-color:#fb7185;background:#ffe4e6e6;color:#9f1239}.routine-form__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.routine-form__help{font-size:12px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin:6px 0 10px;line-height:1.35}.routine-project-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#ffffffeb}.routine-project-picker__item{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.routine-project-picker__item:hover{border-color:#0ea5e980;box-shadow:0 2px 8px #0ea5e91f;transform:translateY(-1px)}.routine-project-picker__check{width:18px;height:18px}.routine-project-picker__label{font-size:13px;font-weight:650;color:#0f172a;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-form__btn{border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent}.routine-form__btn--secondary{background:#fff;border-color:#cbd5f5;color:#475569}.routine-form__btn--primary{background:#3b82f6;color:#fff;border-color:#3b82f6}@media(max-width:600px){.routine-toolbar__btn--add{flex:1 1 100%}.routine-card__actions{width:100%;justify-content:flex-start}.routine-card__footer{flex-direction:column;align-items:flex-start}.routine-card__today-label{width:100%}}.spf-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:10px;background:#142b268a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.spf-panel{--sp-ink: #153b47;--sp-muted: #657367;--sp-accent: #246849;--sp-accent-end: #124c38;--sp-line: #c8ceb0;--sp-paper: #fbfaee;--sp-hover: #e9efdd;--sp-danger: #b42318;position:relative;display:flex;flex-direction:column;width:min(660px,100%);max-height:calc(100dvh - 20px);overflow:hidden;border:4px double #9baf83;border-radius:16px;background:linear-gradient(115deg,#fffef7,#f8f7e8);color:var(--sp-ink);font-size:12px;line-height:1.4;box-shadow:0 18px 65px #102c3955,inset 0 0 0 3px #fffef7}.spf-head,.spf-foot{position:relative;isolation:isolate;display:flex;flex:none;align-items:center;gap:8px;padding:9px 12px;background:#f7f6e5}.spf-head{border-bottom:1px solid var(--sp-line)}.spf-head h2{flex:1;margin:0;font-size:22px;font-weight:850;letter-spacing:.02em;color:#102f40}.spf-head-actions{display:flex;gap:6px}.spf-head-actions,.spf-head h2,.spf-foot>:not(.spf-forest){position:relative;z-index:1}.spf-panel .spf-btn{border-radius:8px;min-height:34px;border-color:#aab48e;background:#fffdf1}.spf-panel .spf-btn--primary{background:linear-gradient(150deg,#30805c,#105139);color:#fffceb;border:3px double #c2ce8b;box-shadow:0 2px #274d33}.spf-panel .spf-btn--primary:hover{background:#185b40}.spf-panel .spf-btn--danger{background:#a63a26;color:#fff}.spf-panel .spf-btn--close{font-size:23px}.spf-panel .spf-btn--primary.is-blocked{opacity:.72}.spf-panel :is(button,input,select,textarea,summary):focus-visible{outline:2px solid #126c91;outline-offset:2px}.spf-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px}.spf-form{display:grid;gap:7px}.spf-row{display:grid;align-content:start;gap:5px;min-width:0}.spf-label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800}.spf-icon{display:inline-flex;justify-content:center;align-items:center;font-size:17px;line-height:1;min-width:18px}.spf-label-line{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.spf-input{transform:none!important;min-height:32px;min-width:0;border:1px solid #a5b2a9;border-radius:6px;padding:4px 7px;background:#fffefa;color:#173746;font:inherit;font-size:13px}.spf-input[aria-invalid=true]{border-color:#bd4e3f;background:#fff9f5}.spf-name-row{grid-template-columns:auto minmax(0,1fr) 104px;align-items:center}.spf-name-control{position:relative;min-width:0}.spf-name{width:100%;padding-right:42px}.spf-name-count{position:absolute;right:7px;top:50%;transform:translateY(-50%);color:#718176;font-size:10px;pointer-events:none}.spf-name-row .spf-issue,.spf-category-row .spf-issue{grid-column:1 / -1}.spf-category-row{grid-template-columns:auto minmax(0,1fr);align-items:center;padding-bottom:7px;border-bottom:1px solid #d9ddc7}.spf-pills{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.spf-pill{min-width:0;min-height:32px;padding:2px 4px;display:flex;justify-content:center;align-items:center;gap:3px;border:1px solid color-mix(in srgb,var(--spf-cat) 50%,white);border-radius:18px;background:color-mix(in srgb,var(--spf-cat) 7%,#fffefa);color:#24414b;font:inherit;font-weight:750;cursor:pointer}.spf-pill .spf-icon{font-size:14px;min-width:12px}.spf-pill:hover{background:color-mix(in srgb,var(--spf-cat) 16%,white)}.spf-pill[aria-pressed=true]{background:var(--spf-cat);color:#fff;border-color:var(--spf-cat);box-shadow:inset 0 0 0 2px #ffffffb5}.spf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spf-schedule{position:relative;isolation:isolate;padding:7px 9px 8px;border-radius:9px;background:linear-gradient(90deg,#eaf0e4 48%,#e5eff1 52%)}.spf-period{position:relative;z-index:1}.spf-period-input{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px}.spf-period-input select{width:78px}.spf-dates{font-size:11px;font-weight:700;white-space:nowrap}.spf-journey{display:flex;align-items:center;justify-content:center;height:22px;gap:4px;margin:-1px 40px 0;position:relative;z-index:1;color:#2f715e}.spf-journey>i{width:42px;border-top:3px dotted #689c8c}.spf-journey .spc-avatar{width:23px;height:27px;background-color:transparent;border:0;object-fit:contain;image-rendering:pixelated}.spf-schedule-caption{position:relative;z-index:1;display:flex;justify-content:center;gap:12px;font-weight:700;font-size:10px}.spf-recruit-note{position:relative;z-index:1;display:block;text-align:center}.spf-forest{pointer-events:none;position:absolute;right:16px;bottom:0;display:flex;align-items:flex-end;gap:3px;opacity:.23;z-index:-1;height:35px}.spf-forest i{display:block;width:24px;height:34px;background:#548b73;clip-path:polygon(44% 0,56% 0,56% 10%,66% 10%,66% 20%,76% 20%,76% 32%,67% 32%,85% 47%,85% 56%,76% 56%,100% 78%,100% 85%,58% 85%,58% 100%,42% 100%,42% 85%,0 85%,0 78%,24% 56%,15% 56%,15% 47%,33% 32%,24% 32%,24% 20%,34% 20%,34% 10%,44% 10%)}.spf-forest i:nth-child(2n){height:24px;width:17px}.spf-forest i:nth-child(3n){height:18px;width:15px}.spf-head .spf-forest{right:145px}.spf-foot .spf-forest{right:40%}.spf-schedule .spf-forest{left:0;right:0;justify-content:space-between;z-index:0;opacity:.35;height:30px}.spf-goal-row>.spf-row{padding:7px 8px;border:1px solid #e2e2ce;border-radius:8px}.spf-total-inputs{display:flex;align-items:center;justify-content:space-between;gap:5px}.spf-inline{display:flex;align-items:center;gap:4px}.spf-hours{width:53px}.spf-total-inputs select{width:48px;padding-left:5px}.spf-avg{flex:none;display:grid;justify-items:center;padding:4px 6px;background:#fff5d5;border-radius:6px;color:#1d614b;font-size:10px}.spf-avg strong{font-size:20px;font-weight:850}.spf-mood-line{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.spf-camp{width:32px;height:34px;object-fit:contain;image-rendering:pixelated}.spf-mood-line .spc-mood{font-size:12px;border-radius:15px;padding:4px 7px}.spf-rules summary{list-style:none;cursor:pointer;border-bottom:1px dotted #738a7d;font-size:10px;padding:5px 0}.spf-rules summary::-webkit-details-marker{display:none}.spf-rules-popover{position:absolute;right:16px;z-index:5;max-width:min(340px,calc(100% - 32px));padding:10px;border:1px solid #94aa91;border-radius:8px;box-shadow:0 8px 24px #20382f40;background:#fffef4;font-size:12px}.spf-rules-popover p{margin:6px 0 0}.spf-stage-picker{min-width:0;margin:0;padding:5px 0 0;border:0}.spf-stage-picker>.spf-hint{display:block;margin:0 0 5px}.spf-stages{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spf-stages>button{display:grid;align-content:start;gap:4px;min-width:0;padding:4px 4px 7px;border:2px solid #d0d6ca;border-radius:9px;background:#fffef7;color:#163b49;text-align:left;cursor:pointer;font:inherit}.spf-stages>button[aria-pressed=true]{border-color:#e6b534;background:#fffbea;box-shadow:0 0 0 1px #e6b534}.spf-stages>button>strong,.spf-stages>button>span{padding:0 3px}.spf-stages>button>strong{display:flex;gap:6px;align-items:center;font-size:14px}.spf-stages>button>span{font-size:11px;color:#51665f}.spf-stage-art{position:relative;border-radius:5px;overflow:hidden}.spf-stage-art img{display:block;width:100%;height:clamp(78px,15dvh,132px);object-fit:cover;object-position:50% 35%;image-rendering:pixelated}.spf-stage-check{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e3ac22;color:#fff;font-size:19px;font-weight:800;box-shadow:0 1px 3px #0004}.spf-stage-radio{flex:none;width:15px;height:15px;border:2px solid #57737a;border-radius:50%}[aria-pressed=true] .spf-stage-radio{border-color:#c99d2c;background:#e8b92e;box-shadow:inset 0 0 0 2px #fffefa}.spf-rewards{display:grid;grid-template-columns:auto 1fr 1fr;gap:5px 10px;align-items:center;border-top:1px solid #d8ddc8;border-bottom:1px solid #d8ddc8;padding:7px 3px}.spf-rewards>div{display:grid;gap:1px;padding-left:10px;border-left:1px solid #d8ddc8}.spf-rewards small,.spf-rewards>div>span{color:#66766b;font-size:10px}.spf-rewards strong{font-size:12px}.spf-reward-timing{grid-column:1 / -1;text-align:right}.spf-description-row{gap:3px}.spf-desc{width:100%;height:47px;min-height:47px;resize:none;line-height:1.4}.spf-hint{color:#687767;font-size:10px}.spf-count{margin-left:auto;color:#6c7b70;font-size:10px}.spf-count--over,.spf-foot-status--ng{color:#b42318}.spf-issue{margin:0;color:#b42318;font-size:11px;font-weight:650;overflow-wrap:anywhere}.spf-issue:before{content:"⚠ "}.spf-foot{justify-content:space-between;border-top:1px solid var(--sp-line)}.spf-foot .spf-btn{min-height:40px;min-width:160px;font-size:15px}.spf-foot-status{font-weight:700}.spf-foot-status small{display:block;max-width:330px;font-size:10px;font-weight:400;color:#5b7465}.spf-confirm{display:flex;flex-wrap:wrap;flex:none;gap:8px;align-items:center;background:#fff0e4;padding:8px 12px;border-bottom:1px solid #d3bba1}.spf-confirm span{flex:1 1 100%}.spf-preview{display:grid;gap:6px}.spf-submit-error{margin-top:6px}@media(max-width:560px){.spf-backdrop{padding:5px}.spf-panel{max-height:calc(100dvh - 10px);font-size:11px;border-width:3px}.spf-head,.spf-foot{padding:7px 8px}.spf-head h2{font-size:17px;letter-spacing:0}.spf-head .spf-forest{display:none}.spf-body{padding:6px 8px}.spf-form{gap:6px}.spf-label{font-size:11px;gap:3px}.spf-icon{font-size:15px;min-width:15px}.spf-name-row{grid-template-columns:minmax(0,1fr) 110px;gap:4px 6px}.spf-name-row>label{grid-column:1 / -1}.spf-input{font-size:16px;min-height:35px;padding:3px 5px}.spf-name{padding-right:36px}.spf-category-row{grid-template-columns:1fr;gap:4px;padding-bottom:5px}.spf-pills{gap:3px}.spf-pill{padding:2px;min-height:34px;gap:2px;font-size:11px}.spf-pill .spf-icon{font-size:11px;min-width:10px}.spf-grid2{gap:6px}.spf-schedule{padding:6px}.spf-period-input{gap:3px}.spf-period-input select{width:100%}.spf-dates{font-size:10px}.spf-journey{height:18px;margin:0 28px}.spf-schedule-caption,.spf-recruit-note{font-size:9px}.spf-goal-row>.spf-row{padding:5px;gap:4px}.spf-total-inputs{flex-wrap:wrap;gap:3px}.spf-total-inputs .spf-inline{gap:2px;width:100%}.spf-hours{width:49px}.spf-total-inputs select{width:46px}.spf-avg{display:flex;width:100%;justify-content:center;gap:7px;padding:1px 4px}.spf-avg strong{font-size:17px}.spf-camp{width:23px;height:27px}.spf-mood-line{gap:3px}.spf-mood-line .spc-mood{font-size:11px;padding:3px 5px}.spf-rules summary{padding:2px 0}.spf-stage-art img{height:clamp(66px,11dvh,100px)}.spf-stages{gap:6px}.spf-stages>button{gap:3px;padding:3px 3px 5px}.spf-stages>button>strong{font-size:12px;gap:3px;padding:0}.spf-stages>button>span{font-size:10px;padding:0}.spf-stage-radio{width:12px;height:12px}.spf-rewards{grid-template-columns:1fr 1fr;gap:3px 6px;padding:5px 0}.spf-rewards>.spf-label{grid-column:1 / -1}.spf-rewards>div{padding-left:4px}.spf-rewards strong{font-size:11px}.spf-reward-timing{font-size:9px!important}.spf-desc{height:47px}.spf-foot .spf-btn{min-width:140px;min-height:38px;font-size:13px}.spf-foot-status small{max-width:185px;font-size:9px}}@media(max-height:840px){.spf-form{gap:5px}.spf-stage-art img{height:70px}.spf-goal-row>.spf-row{padding-top:5px;padding-bottom:5px}}@media(max-width:560px){.spf-pill:last-child .spf-icon{display:none}}@media(max-width:560px)and (max-height:740px){.spf-head,.spf-foot{padding-top:5px;padding-bottom:5px}.spf-form{gap:3px}.spf-name-row{grid-template-columns:auto minmax(0,1fr) 104px}.spf-name-row>label{grid-column:auto;font-size:10px}.spf-name-row>label .spf-icon{display:none}.spf-name-count{display:none}.spf-name{padding-right:4px}.spf-category-row>.spf-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.spf-journey{display:none}.spf-schedule-caption{margin-top:3px}.spf-stage-art img{height:36px}.spf-schedule{padding-top:4px;padding-bottom:4px}.spf-rewards{grid-template-columns:auto 1fr 1fr;gap:3px;padding:4px 0}.spf-rewards>.spf-label{grid-column:auto;writing-mode:vertical-rl;font-size:10px}.spf-rewards>.spf-label .spf-icon{display:none}.spf-rewards>div>span{font-size:9px}.spf-reward-timing{font-size:9px!important}.spf-desc{min-height:35px;height:35px}.spf-goal-row>.spf-row{padding:4px}.spf-mood-line .spf-camp{display:none}}@media(max-width:360px){.spf-head h2{font-size:15px}.spf-head-actions{gap:3px}.spf-head .spf-btn--quiet{padding:0 6px}.spf-pill .spf-icon{display:none}.spf-stages>button>strong{font-size:11px}.spf-goal-row .spf-label .spf-icon{display:none}}.sprint-tab{container-type:inline-size;--sp-ink: var(--data-ink, #294c37);--sp-muted: var(--data-muted, #697360);--sp-accent: var(--data-accent, #32664b);--sp-accent-end: var(--data-accent-end, #214f3b);--sp-line: var(--data-line, #c2c7a2);--sp-paper: var(--data-paper, #fffbea);--sp-row: var(--data-row, #f2f1dc);--sp-panel: var(--data-panel, #e9e9cc);--sp-hover: var(--data-hover, #e5edcb);--sp-danger: #b42318;padding:4px;color:var(--sp-ink);font-size:12px}.spf-backdrop,.sprint-toast{--sp-ink: var(--data-ink, #294c37);--sp-muted: var(--data-muted, #697360);--sp-accent: var(--data-accent, #32664b);--sp-accent-end: var(--data-accent-end, #214f3b);--sp-line: var(--data-line, #c2c7a2);--sp-paper: var(--data-paper, #fffbea);--sp-row: var(--data-row, #f2f1dc);--sp-panel: var(--data-panel, #e9e9cc);--sp-hover: var(--data-hover, #e5edcb);--sp-danger: #b42318}.sprint-tab,.sprint-tab *,.spf-backdrop,.spf-backdrop *{box-sizing:border-box}.sprint-tab-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.sprint-views{display:flex;flex:1;min-width:0;gap:2px;padding:2px;background:var(--sp-panel);border:1px solid var(--sp-line);border-radius:7px}.sprint-view{flex:1;min-height:32px;border:0;border-radius:5px;background:transparent;color:var(--sp-ink);font:inherit;font-weight:700;cursor:pointer}.sprint-view:hover{background:var(--sp-hover)}.sprint-view.is-active{background:linear-gradient(135deg,var(--sp-accent),var(--sp-accent-end));color:#fffce8}.sprint-view-count{display:inline-block;min-width:16px;margin-left:4px;padding:0 4px;border-radius:8px;background:#ffffff8c;color:inherit;font-size:11px}.sprint-search{width:100%;margin-bottom:6px}.sprint-list{display:grid;gap:6px}.sprint-empty{margin:0;padding:14px 8px;color:var(--sp-muted);text-align:center}.sprint-toast{position:fixed;left:50%;bottom:18px;z-index:10001;transform:translate(-50%);max-width:calc(100vw - 32px);padding:8px 14px;border-radius:8px;background:var(--sp-ink);color:#fffce8;font-size:13px;font-weight:700;box-shadow:0 6px 18px #1423194d}.spc{display:grid;gap:4px;padding:7px 9px;border:1px solid var(--sp-line);border-radius:8px;background:var(--sp-paper);color:var(--sp-ink);font-size:12px;line-height:1.45;box-shadow:inset 0 0 0 2px #ffffff80}.spc--finished,.spc--failed{background:var(--sp-row)}.spc-head{display:flex;align-items:center;gap:6px;min-width:0}.spc-title{flex:1;min-width:0;margin:0;font-size:14px;font-weight:800;overflow-wrap:anywhere}.spc-status,.spc-mood,.spc-cat,.spc-tag{display:inline-flex;align-items:center;gap:2px;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:800;white-space:nowrap}.spc-status--recruiting{background:#f6e7bf;color:#6b4b10}.spc-status--scheduled{background:#d7e6f2;color:#1d4664}.spc-status--running{background:#d6ead7;color:#1f5131}.spc-status--finished{background:#e2e2da;color:#4a4f45}.spc-status--failed{background:#f6dcd6;color:#8a2a1b}.spc-mood--chill{background:#e1f0d9;color:#2f5d27}.spc-mood--steady{background:#f8e6cc;color:#7a4a0c}.spc-mood--hard{background:#f7d8d2;color:#8a2a1b}.spc-cat{border-left:4px solid var(--spc-cat, #9a9fa8);background:var(--sp-row);color:var(--sp-ink)}.spc-tag{background:var(--sp-row);color:var(--sp-muted)}.spc-meta,.spc-goal{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}.spc-k{margin-right:4px;color:var(--sp-muted);font-size:11px}.spc-members--short{color:#7a4a0c}.spc-progress{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.spc-bar{position:relative;flex:1;min-width:140px;height:16px;overflow:hidden;border-radius:4px;background:var(--sp-row)}.spc-bar span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--sp-accent),#6f9a63)}.spc-bar em{position:relative;padding-left:6px;font-size:11px;font-style:normal;font-weight:800;line-height:16px;text-shadow:0 0 3px var(--sp-paper)}.spc-result{font-weight:700}.spc-result--achieved{color:#1f5131}.spc-result--missed,.spc-result--failed{color:#8a2a1b}.spx{margin:0;overflow:hidden;border:2px solid #7a5a36;border-radius:6px;background:#1a2a55;box-shadow:inset 0 0 0 1px #e9dcb4}.spx-svg{display:block;width:100%;height:180px;background:#14204a;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.spx--recruiting .spx-svg,.spx--failed .spx-svg{height:112px}.spx--failed .spx-world,.spx--failed .spx-token{filter:grayscale(1) brightness(.8)}.spx-trail-under{fill:none;stroke:#2a1d14;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.spx-trail{fill:none;stroke:#9a7448;stroke-width:2;stroke-dasharray:3 2;stroke-linejoin:round}.spx-trail-done{fill:none;stroke:#e2b56c;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spx--recruiting .spx-trail,.spx--failed .spx-trail{opacity:.7}.spx-place{fill:#f2ecd2;font-size:9px;font-weight:800;letter-spacing:.04em;paint-order:stroke;stroke:#0f1836;stroke-width:2.5px;stroke-linejoin:round}.spx-token{cursor:pointer;outline:none}.spx-hit{fill:transparent}.spx-shadow{fill:#050a198c}.spx-token-bg{fill:#e9e2c6}.spx-head{image-rendering:pixelated}.spx-initial{fill:#294c37;font-weight:800}.spx-token-ring{fill:none;stroke:#1b2440;stroke-width:1.4}.spx-token.is-self .spx-token-bg{fill:#fff6d6}.spx-self-ring{fill:none;stroke:#f2ecd2;stroke-width:1.6}.spx-focus{fill:none;stroke:transparent;stroke-width:1.5}.spx-token.is-selected .spx-focus{stroke:#9fd3b6;stroke-dasharray:2 1.5}.spx-token:focus-visible .spx-focus{stroke:#fff;stroke-dasharray:none}.spx-host-flag{fill:#c0563f}.spx-token-ring--moca{stroke:#2f7d63}.spx-moca-badge rect{fill:#2f7d63;stroke:#0e2a22;stroke-width:.6}.spx-moca-badge text{fill:#f2ecd2;font-size:4.6px;font-weight:800;letter-spacing:.2px}.spx-host-flag rect{fill:#e8e2c8}.spx-glow{fill:#ffbe5c;opacity:.35}.spx-glow--pulse{animation:spx-lantern 2.4s ease-in-out infinite}@keyframes spx-lantern{0%,to{opacity:.18}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.spx-glow--pulse{animation:none}}.spx-empty{fill:#f2ecd214;stroke:#f2ecd2;stroke-width:1;stroke-dasharray:2 2}.spx-stamp rect{fill:#0f1836;stroke:#c9c3ad;stroke-width:1;opacity:.92}.spx-stamp text{fill:#f2ecd2;font-size:12px;font-weight:800}.spx-caption{display:flex;flex-wrap:wrap;align-items:center;gap:1px 10px;padding:3px 7px;border-top:1px solid #7a5a36;background:#f4ecd2;color:#33402f;font-size:12px;line-height:1.4}.spx-who{flex:1 1 auto;min-width:0;font-weight:800;overflow-wrap:anywhere}.spx-part{white-space:nowrap}.spx-team{font-weight:700}.spx-team--short{color:#7a4a0c}.spx-legend{display:inline-flex;align-items:center;gap:4px;color:#56604f;font-size:11px}.spx-legend svg{flex:none;background:#1a2a55;border-radius:2px}.spx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.spc-host{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;background:var(--sp-row)}.spc-host--unknown{display:block;color:var(--sp-muted)}.spc-avatar{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;border-radius:6px;background:var(--sp-panel)}.spc-avatar--moca{display:block;background-repeat:no-repeat}.spc-moca-badge{display:inline-block;padding:0 5px;border:1px solid #0e2a22;border-radius:4px;background:#2f7d63;color:#f2ecd2;font-size:10px;font-weight:800;line-height:15px;letter-spacing:.04em}.spc-avatar--none{display:grid;place-items:center;font-weight:800;color:var(--sp-muted)}.spc-host-body{min-width:0}.spc-host-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}.spc-host-tag{color:var(--sp-muted);font-size:11px}.spc-host-id{color:var(--sp-muted);font-family:ui-monospace,monospace;font-size:11px}.spc-host-level{font-weight:800}.spc-host-stats{display:flex;flex-wrap:wrap;gap:0 10px;margin:1px 0 0}.spc-host-stats div{display:flex;gap:3px}.spc-host-stats dt{color:var(--sp-muted);font-size:11px}.spc-host-stats dd{margin:0;font-weight:700}.spc-host-medals dd{display:flex;gap:6px}.spc-desc{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.spc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.spc-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:700}.spf-btn{min-height:32px;padding:0 12px;border:1px solid var(--sp-line);border-radius:6px;background:#fffef7;color:var(--sp-ink);font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 1px #294c372e}.spf-btn:hover:not(:disabled){background:var(--sp-hover)}.spf-btn:focus-visible,.spf-pill:focus-visible,.spf-link:focus-visible,.sprint-view:focus-visible,.spf-input:focus-visible{outline:2px solid var(--sp-accent);outline-offset:1px}.spf-btn:disabled{cursor:wait;opacity:.6}.spf-btn--primary{border-color:var(--sp-accent-end);background:linear-gradient(135deg,var(--sp-accent),var(--sp-accent-end));color:#fffce8}.spf-btn--primary:hover:not(:disabled){background:var(--sp-accent-end)}.spf-btn--primary.is-blocked{opacity:.55;cursor:not-allowed}.spf-btn--danger{border-color:#8a2a1b;background:#a63a26;color:#fff}.spf-btn--danger:hover:not(:disabled){background:#8a2a1b}.spf-btn--quiet{min-height:30px;background:transparent;box-shadow:none}.spf-btn--close{width:34px;min-width:34px;padding:0;font-size:20px;line-height:1}.spf-link{padding:2px 4px;border:0;background:none;color:var(--sp-accent);font:inherit;font-size:11px;font-weight:700;text-decoration:underline;cursor:pointer}.sf-card{--sf-ink: #eaf2ed;color:var(--sf-ink);background:#102e3a;border:1px solid #365765;border-radius:12px;overflow:hidden;font-size:13px;line-height:1.45;box-shadow:0 4px 16px #08202b18}.sf-card *{box-sizing:border-box}.sf-card button{font:inherit;cursor:pointer}.sf-card button:disabled{opacity:.6;cursor:wait}.sf-card :focus-visible{outline:3px solid #fff1b0;outline-offset:3px}.sf-header{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;padding:6px;background:#f3f1e7;color:#142f3f}.sf-header h3{margin:3px 0;font-size:18px;line-height:1.25;overflow-wrap:anywhere}.sf-eyebrow{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:11px;font-weight:700;color:#456574}.sf-header small{font-size:11px}.sf-personal{display:flex;flex-direction:column;justify-content:center;gap:3px;padding-left:10px;border-left:1px solid #c4cfcb;min-width:0}.sf-personal>span{font-size:11px}.sf-personal>strong{font-size:17px;line-height:1.3}.sf-personal>strong small{font-size:11px;font-weight:500}.sf-meter{height:7px;background:#c0caca;border-radius:9px;overflow:hidden}.sf-meter i{display:block;height:100%;background:linear-gradient(90deg,#daa84d,#f9d781);border-radius:9px;transition:width .6s ease}.sf-expedition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.sf-expedition-info{min-width:0}.sf-map{position:relative;width:100%;aspect-ratio:1122/1402;isolation:isolate;background:#0b2837}.sf-background,.sf-route{position:absolute;inset:0;width:100%;height:100%}.sf-background{display:flex;flex-direction:column}.sf-background img{display:block;width:100%;height:50%;image-rendering:pixelated}.sf-route{pointer-events:none;overflow:visible}.sf-route path{fill:none;stroke-linecap:round;stroke-linejoin:round}.sf-route-shadow{stroke:#10212fbb;stroke-width:16}.sf-route-base{stroke:#f3e3a5;stroke-width:5;stroke-dasharray:2 14}.sf-route-progress{stroke:var(--sf-accent);stroke-width:7;filter:drop-shadow(0 0 4px #ffcc66)}.sf-route text{fill:#fff7dc;font:700 28px system-ui;paint-order:stroke;stroke:#102e3a;stroke-width:9px;stroke-linejoin:round}.sf-own-glow{filter:drop-shadow(0 0 7px #f9cd6c)}.sf-start-label,.sf-goal-label{position:absolute;background:#102e3aeb;border:1px solid #d4bd7b;color:#fff5d5;border-radius:5px;box-shadow:0 2px 6px #0005;pointer-events:none}.sf-start-label{left:4%;bottom:7%;padding:2px 7px;font-size:10px;letter-spacing:1px}.sf-goal-label{left:4%;top:1.8%;padding:3px 5px;display:grid;grid-template-columns:auto auto;gap:0 5px;font-size:10px}.sf-goal-label>small{grid-column:1;font-size:9px;letter-spacing:1px}.sf-goal-label>strong{grid-column:1}.sf-chests{grid-column:2;grid-row:1 / 3;display:flex;gap:6px;align-items:center}.sf-chests>span{display:flex;flex-direction:column;align-items:center;color:#b0ac94;font-size:20px;line-height:1}.sf-chests small{font-size:9px;margin-top:3px}.sf-chests svg{width:16px;height:15px}.sf-chests .is-lit{color:#ffdb78;filter:drop-shadow(0 0 4px #e9ad5a99)}.sf-portrait{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;border:2px solid #e8e4d3;background:#38596c;color:#fff;vertical-align:middle}.sf-portrait img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.sf-portrait--bot{background-repeat:no-repeat;image-rendering:pixelated}.sf-token{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;padding:2px;width:40px;height:40px;background:none;border:0;filter:drop-shadow(0 3px 3px #0007);transition:left .7s ease,top .7s ease}.sf-token:after{content:"";border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #e8e4d3;position:absolute;bottom:0}.sf-token .sf-portrait{width:30px;height:30px}.sf-token.is-self .sf-portrait{border-color:#ffce67;box-shadow:0 0 0 2px #17313b,0 0 12px #ffce67aa}.sf-token.is-selected{z-index:2}.sf-token.is-selected .sf-portrait{outline:2px solid white;outline-offset:2px}.sf-token.is-working .sf-portrait{box-shadow:0 0 0 3px #bce2bb,0 0 14px #9ceab9}.sf-you{position:absolute;top:-9px;padding:1px 4px;border-radius:3px;background:#f3cd79;color:#142c39;font-size:9px;white-space:nowrap}.sf-stack-count{position:absolute;right:-4px;top:0;background:#f4d17c;color:#112d3a;border-radius:9px;padding:0 4px;font-size:11px;font-weight:700}.sf-group{position:absolute;z-index:3;inset:auto 8px 8px;padding:7px 30px 7px 7px;display:flex;flex-wrap:wrap;gap:4px;border:1px solid #6b8f9d;border-radius:8px;background:#0b2737f5}.sf-group button{min-height:36px;display:flex;gap:5px;align-items:center;background:#254553;border:1px solid #6d8995;border-radius:5px;color:#fff;padding:3px 5px}.sf-group .sf-group-close{position:absolute;right:2px;top:2px;background:none;border:0}.sf-map-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 6px;padding:4px 6px;background:#082433;border-top:1px solid #416573;font-size:11px}.sf-map-caption>span{color:#c1d4d8}.sf-member-detail{display:flex;align-items:center;gap:5px;padding:4px 6px;border-bottom:1px solid #365260;min-height:36px;font-size:11px}.sf-member-detail>.sf-portrait{width:24px;height:24px}.sf-member-detail>div{flex:1;min-width:0;display:flex;flex-direction:column}.sf-member-detail strong{overflow-wrap:anywhere}.sf-member-detail span:not(.sf-portrait){font-size:11px}.sf-cheer{display:flex;flex-direction:column;max-width:38%}.sf-cheer button{background:#2d5263;color:#fff;border:1px solid #75919c;border-radius:5px;padding:7px 10px}.sf-summary{padding:5px 6px;display:flex;flex-direction:column;gap:2px;font-size:12px}.sf-summary>strong{color:#f4d58a}.sf-summary small{color:#b5cad0;font-size:11px}.sf-rewards{display:grid;grid-template-columns:1fr;gap:3px 8px;margin:2px 6px 4px}.sf-rewards>div{display:block;border-left:2px solid #607681;padding:2px 5px;background:#173744}.sf-rewards>div>small{color:#b5cbd1;font-size:10px;margin-right:5px}.sf-rewards>div>strong{font-size:12px}.sf-rewards>div>span{display:block;font-size:11px}.sf-rewards>.is-earned{border-color:#edc86d;background:#33463e}.sf-reward-timing{grid-column:1 / -1;color:#a9c0c7;font-size:10px}.sf-calendar{margin:3px 8px;border-top:1px solid #365260;padding-top:4px}.sf-calendar-title{display:flex;align-items:baseline;justify-content:space-between;gap:5px;margin-bottom:4px}.sf-calendar-title>small{color:#b1c8ce;font-size:10px}.sf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.sf-calendar-grid>button{display:flex;flex-direction:column;padding:2px;min-width:0;min-height:36px;border:1px solid #486371;border-radius:4px;color:#d9e5e7;background:#193c4a;text-align:left}.sf-calendar-grid time{font-size:10px;line-height:1.25}.sf-calendar-grid>.is-today{border-color:#dfc07b}.sf-calendar-grid>.is-selected{background:#416153;border-color:#ffe29b}.sf-calendar-grid>.is-future{color:#7f9aa6;background:#12313e}.sf-day-people{display:flex;align-items:center;min-height:18px;width:100%}.sf-day-people .sf-portrait{width:18px;height:18px;border-width:1px;margin-right:-7px}.sf-day-people small{margin-left:8px;font-size:9px}.sf-day-detail{display:flex;flex-wrap:wrap;gap:5px 10px;padding-top:6px;font-size:11px}.sf-day-detail>strong{width:100%}.sf-day-detail .sf-portrait{width:24px;height:24px;margin-right:4px}.sf-work-action{flex:1 1 140px;min-width:0;margin:0}.sf-footer{position:relative;display:flex;flex-wrap:wrap;align-items:start;gap:6px;padding:5px 8px 8px}.sf-start-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;border:1px solid #f4d491;border-radius:7px;background:linear-gradient(#f6d48c,#eabd61);box-shadow:0 3px #8e682f;color:#152f3c;font-weight:800!important;padding:8px 14px;font-size:16px!important}.sf-projects{display:grid;grid-template-columns:1fr auto;gap:5px;padding:8px 0 3px}.sf-projects>button{min-height:36px;color:#fff;background:#294d5e;border:1px solid #7a99a4;border-radius:5px}.sf-projects>button~button{grid-column:1 / -1;text-align:left;padding:6px 10px}.sf-projects p{grid-column:1 / -1;margin:0}.sf-notice{margin:5px 10px;font-size:11px;color:#ecd89d}.sf-work-action .sf-notice{margin:6px 0}.sf-actions{display:flex;gap:5px;padding:0}.sf-actions:empty{display:none}.sf-details{margin:0 0 0 auto;flex:0 0 86px;font-size:11px;color:#b7cdd2}.sf-details summary{cursor:pointer;min-height:44px;padding:5px 7px;border:1px solid #75919c;border-radius:6px;background:#294d5e;color:#fff}.sf-details-content{position:absolute;z-index:5;bottom:calc(100% - 3px);left:8px;right:8px;max-height:min(320px,55dvh);overflow-y:auto;padding:10px;border:1px solid #75919c;border-radius:7px;background:#102e3a;box-shadow:0 4px 18px #0006}.spf-preview .sf-details{flex:1}.spf-preview .sf-details-content{position:static;max-height:none;box-shadow:none}.sf-details p{margin:4px 0;overflow-wrap:anywhere}.sf-details .spc-host{color:#193747}.sf-collection{margin:5px 0 8px;border:1px solid #b7c3bd;border-radius:6px;padding:6px 10px;font-size:12px;background:#f4f0df;color:#163a46}.sf-collection summary{min-height:28px;cursor:pointer;font-weight:700}.sf-collection ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:4px 0}.sf-collection li{padding:4px 7px;background:#e3e6d9;border-radius:4px}@media(prefers-reduced-motion:reduce){.sf-token,.sf-meter i{transition:none}}@container (max-width:380px){.sf-expedition{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}.sf-calendar-title{margin-bottom:2px}}@container (max-width:260px){.sf-expedition{grid-template-columns:1fr}.sf-map{width:min(100%,160px);justify-self:center}.sf-header{grid-template-columns:1fr;padding:8px;gap:5px}.sf-personal{border-left:0;border-top:1px solid #c4cfcb;padding:5px 0 0}.sf-header h3{font-size:17px}.sf-map-caption,.sf-calendar-title{flex-direction:column;gap:0}.sf-calendar-grid{gap:1px}.sf-calendar-grid time{font-size:8px}.sf-day-people .sf-portrait{width:14px;height:14px;margin-right:-9px}.sf-token{width:34px;height:38px}.sf-token .sf-portrait{width:30px;height:30px}.sf-rewards{grid-template-columns:1fr}}@media(max-width:380px){.sf-header{padding:8px;gap:6px}.sf-header h3{font-size:17px}.sf-personal>strong{font-size:16px}.sf-day-people .sf-portrait{width:16px;height:16px}}@media(max-width:520px){.spx-svg{height:140px}.spx--recruiting .spx-svg,.spx--failed .spx-svg{height:96px}}.mmx-modal-root{position:fixed;inset:0;z-index:200000}.mmx-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mmx-modal-backdrop.is-closable{cursor:pointer}.mmx-modal-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:min(90vw,500px);max-height:80vh;overflow:auto;animation:mmxModalSlideIn .28s ease-out;pointer-events:auto;touch-action:manipulation;cursor:default}.mmx-modal-dialog:has(.sprint-mood-table-modal){max-width:1120px;width:min(67vw,1120px);max-height:88vh}@keyframes mmxWarmDrift{0%{transform:translate3d(-8px,-6px,0) rotate(-1deg)}to{transform:translate3d(10px,8px,0) rotate(1deg)}}.mmx-modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:flex-start;gap:12px}.mmx-modal-header.is-closable{justify-content:space-between}.mmx-modal-title{margin:0;font-size:18px;color:#1f2937;font-weight:800}.mmx-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;line-height:1;padding:0;width:32px;height:32px;border-radius:8px}.mmx-modal-close:hover{background:#0f172a0f}.mmx-modal-close:active{background:#0f172a1a}.mmx-modal-body{padding:24px;pointer-events:auto;touch-action:manipulation}@keyframes mmxModalSlideIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px),(max-height:520px)and (pointer:coarse){.mmx-modal-backdrop{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box}.mmx-modal-dialog,.mmx-modal-dialog:has(.sprint-mood-table-modal){width:100%;max-width:560px;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;border-radius:14px}.mmx-modal-header{flex:none;padding:8px 12px;gap:8px}.mmx-modal-title{font-size:16px;overflow-wrap:anywhere}.mmx-modal-close{width:44px;height:44px;flex:none}.mmx-modal-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px}.mmx-modal-body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px;min-width:0;max-width:100%}.mmx-modal-body :is(input,select,textarea),#profileModalContent :is(input,select,textarea){transform:none!important}#avatarModal{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));align-items:center;box-sizing:border-box}#avatarModal #profileModalContent{width:min(550px,100%);max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:4px;overscroll-behavior:contain;scroll-padding-bottom:70px}#profileModalContent .magic-card{padding:12px}#profileModalContent :is(.magic-input,.magic-select){min-height:44px;font-size:16px;box-sizing:border-box}#profileModalContent .modal-compact-actions{position:sticky;bottom:-12px;z-index:20;margin:8px -8px -8px;padding:8px;background:#effaf3;border-top:1px solid #b7d9c6;border-radius:0 0 12px 12px}#profileModalContent .modal-compact-actions button,#profileModalContent .work-decoration-choice{min-height:44px}#profileModalContent .work-decoration-choice canvas{max-width:100%;height:auto}}.work-resume-overlay,.work-resume-undo{--wr-ink: var(--data-ink, #294c37);--wr-muted: var(--data-muted, #697360);--wr-accent: var(--data-accent, #32664b);--wr-accent-end: var(--data-accent-end, #214f3b);--wr-line: var(--data-line, #c2c7a2);--wr-paper: var(--data-paper, #fffbea);--wr-row: var(--data-row, #f2f1dc);--wr-hover: var(--data-hover, #e5edcb);--wr-trim: var(--data-trim, #b58c44);--wr-on-accent: #fffce8;--wr-danger: #b42318;--wr-shadow: 0 10px 28px rgba(41, 70, 50, .24), 0 1px 3px rgba(41, 70, 50, .16)}.work-resume-overlay{position:fixed;inset:0;z-index:200000;display:flex;align-items:center;justify-content:center;padding:16px;background:#141e1947;box-sizing:border-box}.work-resume-dialog{display:flex;flex-direction:column;box-sizing:border-box;width:min(400px,100%);max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid var(--wr-line);border-radius:10px;background:var(--wr-paper);color:var(--wr-ink);box-shadow:var(--wr-shadow),inset 0 0 0 2px #ffffff80;font-size:13px;line-height:1.45;animation:workResumeIn .22s ease-out}.work-resume-dialog:focus{outline:none}.work-resume-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:4px 8px 4px 14px;border-bottom:1px solid var(--wr-line);background:var(--wr-row)}.work-resume-title{margin:0;font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--wr-ink)}.work-resume-later{flex:none;min-height:36px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--wr-muted);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.work-resume-later:hover:not(:disabled){color:var(--wr-ink);background:var(--wr-hover)}.work-resume-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 14px 8px}.work-resume-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.work-resume-pill{display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--wr-cat, #6b7280);border-radius:999px;background:color-mix(in srgb,var(--wr-cat, #6b7280) 16%,var(--wr-paper));color:var(--wr-ink);font-size:11px;font-weight:700;line-height:18px}.work-resume-project{min-width:0;font-weight:700;color:var(--wr-ink);overflow-wrap:anywhere}.work-resume-note{margin-left:6px;font-weight:400;color:var(--wr-muted)}.work-resume-start{color:var(--wr-muted);font-variant-numeric:tabular-nums}.work-resume-elapsed{display:flex;align-items:baseline;gap:8px;margin-top:6px}.work-resume-elapsed__label{color:var(--wr-muted);font-size:12px}.work-resume-elapsed__value{font-size:26px;font-weight:700;line-height:1.2;color:var(--wr-accent-end);font-variant-numeric:tabular-nums}.work-resume-away{display:flex;gap:8px;margin:8px 0 0;padding:6px 10px;border-left:3px solid var(--wr-trim);border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--wr-trim) 14%,var(--wr-paper));color:var(--wr-ink);font-size:12px}.work-resume-away strong{color:#7a5518;font-variant-numeric:tabular-nums}.work-resume-away__icon{color:var(--wr-trim)}.work-resume-lead{margin:0 0 6px;color:var(--wr-muted);font-size:12px}.work-resume-error{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;padding:6px 10px;border:1px solid var(--wr-danger);border-radius:6px;background:#fdf0ec}.work-resume-error__text{flex:1 1 180px;margin:0;color:var(--wr-ink);font-size:12px}.work-resume-error__retry{min-height:44px;padding:0 14px;border:1px solid var(--wr-accent);border-radius:6px;background:#fffef7;color:var(--wr-accent-end);font:inherit;font-weight:700;cursor:pointer}.work-resume-error__retry:hover{background:var(--wr-hover)}.work-resume-actions{display:grid;gap:6px;padding:8px 14px 10px;border-top:1px solid var(--wr-line);background:color-mix(in srgb,var(--wr-row) 60%,var(--wr-paper))}.work-resume-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:0 14px;border-radius:8px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums;touch-action:manipulation}.work-resume-btn--primary{border:1px solid var(--wr-accent-end);background:linear-gradient(135deg,var(--wr-accent),var(--wr-accent-end));color:var(--wr-on-accent);box-shadow:inset 0 0 0 1px #ffffff40,0 1px 2px #29463233}.work-resume-btn--primary:hover:not(:disabled){background:var(--wr-accent-end)}.work-resume-btn--secondary{border:1px solid var(--wr-accent);background:#fffef7;color:var(--wr-accent-end);font-size:14px;box-shadow:inset 0 1px #fff}.work-resume-btn--secondary:hover:not(:disabled){background:var(--wr-hover)}.work-resume-btn:disabled,.work-resume-link:disabled,.work-resume-later:disabled,.work-resume-check input:disabled+span{opacity:.55;cursor:progress}.work-resume-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px}.work-resume-foot__spacer{flex:1}.work-resume-check{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--wr-ink);font-size:12px;cursor:pointer}.work-resume-check input{width:20px;height:20px;margin:0;accent-color:var(--wr-accent);cursor:pointer}.work-resume-link{min-height:44px;margin-left:auto;padding:0 4px;border:none;background:transparent;color:var(--wr-danger);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.work-resume-overlay :focus-visible,.work-resume-undo :focus-visible{outline:2px solid var(--wr-accent);outline-offset:2px}.work-resume-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.work-resume-undo{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:200001;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;box-sizing:border-box;width:max-content;max-width:calc(100% - 32px);padding:4px 6px 4px 14px;border:1px solid var(--wr-line);border-radius:10px;background:var(--wr-paper);color:var(--wr-ink);font-size:13px;box-shadow:var(--wr-shadow);transform:translate(-50%);animation:workResumeUndoIn .2s ease-out}.work-resume-undo__sep{color:var(--wr-muted)}.work-resume-undo__btn{min-height:44px;padding:0 12px;border:1px solid var(--wr-accent);border-radius:6px;background:#fffef7;color:var(--wr-accent-end);font:inherit;font-weight:700;cursor:pointer}.work-resume-undo__btn:hover{background:var(--wr-hover)}.work-resume-undo__btn--quiet{border-color:transparent;background:transparent;color:var(--wr-muted);font-weight:400}.work-resume-undo--error{border-color:var(--wr-danger);border-left-width:4px}@keyframes workResumeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes workResumeUndoIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:600px){.work-resume-overlay{align-items:flex-end;padding:0}.work-resume-dialog{width:100%;max-height:calc(100dvh - 24px);border-right:none;border-bottom:none;border-left:none;border-radius:14px 14px 0 0;box-shadow:0 -6px 22px #29463238,inset 0 0 0 2px #ffffff80;animation-name:workResumeSheetIn}.work-resume-head{border-radius:14px 14px 0 0}.work-resume-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.work-resume-btn{min-height:48px}.work-resume-undo{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}@keyframes workResumeSheetIn{0%{transform:translateY(24px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.work-resume-dialog,.work-resume-undo{animation:none}}#goalSettingModal{display:none!important}#goalSettingModal[data-focus-service-ready=true]{display:flex!important}#goalSettingModal.focus-modal-celestial{background:#0f172a4d;-webkit-backdrop-filter:blur(4px) saturate(130%);backdrop-filter:blur(4px) saturate(130%)}#goalSettingModal.focus-modal-celestial .modal-content{background:linear-gradient(180deg,#fffbebeb,#ffedd5eb);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(249,115,22,.35);box-shadow:0 26px 90px #00000059,0 0 0 1px #fff9 inset,0 0 40px #f973162e;border-radius:18px;overflow:visible;position:relative;color:#0f172a;color-scheme:light}#goalSettingModal.focus-modal-celestial .modal-content *{box-sizing:border-box}#goalSettingModal.focus-modal-celestial .modal-content.modal-medium{padding:12px 12px 10px}#goalSettingModal.focus-modal-celestial .modal-header{padding:4px 2px 8px}#goalSettingModal.focus-modal-celestial .modal-section{margin-top:10px}#goalSettingModal.focus-modal-celestial .form-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;line-height:1.2;font-size:12px}#goalSettingModal.focus-modal-celestial{--focus-field-h: 40px;--focus-field-radius: 12px;--focus-field-pad-x: 12px;--focus-field-font: 14px}#goalSettingModal.focus-modal-celestial select.form-select-single,#goalSettingModal.focus-modal-celestial input.form-select-single{height:var(--focus-field-h);padding:0 var(--focus-field-pad-x);border-radius:var(--focus-field-radius);font-size:var(--focus-field-font);line-height:var(--focus-field-h);font-weight:800}#goalSettingModal.focus-modal-celestial input.form-select-single{line-height:normal;display:flex;align-items:center}#goalSettingModal.focus-modal-celestial input.form-select-single::placeholder{color:#334155a6;font-weight:700}#goalSettingModal.focus-modal-celestial select.form-select-single{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(15,23,42,.8) 50%),linear-gradient(135deg,rgba(15,23,42,.8) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}#goalSettingModal.focus-modal-celestial .mt-8{margin-top:6px!important}#goalSettingModal.focus-modal-celestial .goal-hint-box{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}#goalSettingModal.focus-modal-celestial .goal-checkbox-wrapper{margin-top:10px;padding:10px 12px}#goalSettingModal.focus-modal-celestial .goal-checkbox-label{display:flex;align-items:center;gap:10px;min-height:40px}#goalSettingModal.focus-modal-celestial .goal-button-row{margin-top:10px}#goalSettingModal.focus-modal-celestial .goal-button-row>button{height:48px;border-radius:14px;font-size:15px;font-weight:900;letter-spacing:.04em}#goalSettingModal.focus-modal-celestial #goalSettingCancel{box-shadow:0 10px 22px #0000000f}#goalSettingModal.focus-modal-celestial #goalSettingStart{letter-spacing:.06em}#goalSettingModal.focus-modal-celestial .modal-content:before{content:"";position:absolute;inset:-40%;background:radial-gradient(900px 520px at 85% 18%,rgba(249,115,22,.35),transparent 60%),radial-gradient(720px 420px at 10% 0%,rgba(251,191,36,.3),transparent 62%),radial-gradient(520px 320px at 50% 55%,rgba(255,255,255,.6),transparent 68%),radial-gradient(2px 2px at 20% 30%,#f9731680,#0000),radial-gradient(1px 1px at 40% 70%,#f9731659,#0000),radial-gradient(2px 2px at 65% 35%,#fbbf2480,#0000),radial-gradient(1px 1px at 78% 62%,#0000001f,#0000);opacity:.55;animation:focus-burst-drift 14s ease-in-out infinite alternate;pointer-events:none}#goalSettingModal.focus-modal-celestial .modal-content:after{content:"";position:absolute;inset:0;background:radial-gradient(1px 1px at 12% 18%,rgba(249,115,22,.35),transparent 70%),radial-gradient(1px 1px at 82% 22%,rgba(251,191,36,.35),transparent 70%),radial-gradient(1px 1px at 30% 74%,rgba(249,115,22,.25),transparent 70%),radial-gradient(1px 1px at 68% 78%,rgba(251,191,36,.25),transparent 70%);opacity:.6;pointer-events:none;mix-blend-mode:multiply}@keyframes focus-burst-drift{0%{transform:translate3d(-1.5%,-1%,0) scale(1.02);filter:saturate(1)}50%{transform:translate3d(1.2%,1%,0) scale(1.04);filter:saturate(1.1)}to{transform:translate3d(-.5%,.6%,0) scale(1.02);filter:saturate(1)}}#goalSettingModal.focus-modal-celestial .goal-modal-title{font-weight:900;letter-spacing:.06em;background:linear-gradient(90deg,#111827,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent}#goalSettingModal.focus-modal-celestial #goalSettingClose{width:34px;height:34px;border-radius:10px;background:#ffffffa6;border:1px solid rgba(249,115,22,.22);color:#0f172a;box-shadow:0 14px 30px #0000001a}#goalSettingModal.focus-modal-celestial #goalSettingClose:hover{background:#fff7edf2;border-color:#f9731673}#goalSettingModal.focus-modal-celestial .goal-hint-box{background:#ffffffb3;border:1px solid rgba(249,115,22,.18);border-radius:14px;box-shadow:0 10px 24px #0000000f,inset 0 1px #ffffff8c}#goalSettingModal.focus-modal-celestial #editAllBtnInModal{background:#ffffffeb;border:1px solid rgba(249,115,22,.28);color:#0f172a;border-radius:10px}#goalSettingModal.focus-modal-celestial #editAllBtnInModal:hover{background:#fff7edfa;border-color:#f9731673}#goalSettingModal.focus-modal-celestial .form-label{color:#0f172a;font-weight:900;letter-spacing:.02em}#goalSettingModal.focus-modal-celestial .form-select-single{background:#ffffffeb;border:1px solid rgba(249,115,22,.22);color:#0f172a;border-radius:12px;box-shadow:0 8px 18px #0000000f,inset 0 1px #ffffffa6}#goalSettingModal.focus-modal-celestial .form-select-single:focus{outline:none;border-color:#f97316a6;box-shadow:0 0 0 3px #f973162e,0 0 18px #f973162e,inset 0 1px #ffffffa6}#goalSettingModal.focus-modal-celestial select{color-scheme:light}#goalSettingModal.focus-modal-celestial select option{background:#fff;color:#0f172a}#goalSettingModal.focus-modal-celestial #modalMokuPower,#goalSettingModal.focus-modal-celestial #modalFocusLevel,#goalSettingModal.focus-modal-celestial #modalMaxTime{font-weight:900}#goalSettingModal.focus-modal-celestial .goal-hint-box>div{font-size:11px!important;line-height:1.35!important}#goalSettingModal.focus-modal-celestial #goalSettingClose{width:32px;height:32px;border-radius:10px}#goalSettingModal.focus-modal-celestial #goalTimeSelect{font-weight:900;text-align:center;letter-spacing:.06em}#goalSettingModal.focus-modal-celestial .goal-checkbox-wrapper{background:#ffffffc7;border:1px solid rgba(249,115,22,.16);border-radius:14px}#goalSettingModal.focus-modal-celestial .checkbox-text{color:#0f172a;font-weight:800}#goalSettingModal.focus-modal-celestial .checkbox-input{accent-color:#f97316}#goalSettingModal.focus-modal-celestial .goal-button-row{gap:12px}#goalSettingModal.focus-modal-celestial #goalSettingCancel{border-radius:14px;background:#ffffffd9;border:1px solid rgba(249,115,22,.18);color:#334155;font-weight:900}#goalSettingModal.focus-modal-celestial #goalSettingCancel:hover{background:#ffffff17}#goalSettingModal.focus-modal-celestial #goalSettingStart{border-radius:14px;background:linear-gradient(135deg,#fb923c,#f97316 35%,#ea580c);border:1px solid rgba(249,115,22,.65);color:#fff;font-weight:900;letter-spacing:.08em;box-shadow:0 18px 46px #ea580c47,0 0 28px #f9731638;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease}#goalSettingModal.focus-modal-celestial #goalSettingStart:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 22px 56px #ea580c57,0 0 34px #f9731647}#goalSettingModal.focus-modal-celestial #goalSettingStart:active{transform:translateY(1px) scale(.99)}.mmx-modal-dialog:has(.focus-modal-celestial){background:#0f172ab3!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;backdrop-filter:blur(24px) saturate(180%)!important;border:1px solid rgba(251,191,36,.3)!important;box-shadow:0 30px 100px #0009,inset 0 0 40px #fbbf240d!important;color:#f8fafc;overflow:hidden;position:relative}.mmx-modal-dialog:has(.focus-modal-celestial):before{content:"";position:absolute;inset:-100%;background-image:radial-gradient(1px 1px at 20% 30%,#fff,#0000),radial-gradient(1px 1px at 40% 70%,#fff,#0000),radial-gradient(2px 2px at 50% 50%,#fbbf2480,#0000),radial-gradient(1px 1px at 80% 40%,#fff,#0000),radial-gradient(1px 1px at 90% 90%,#fff,#0000);background-size:300px 300px;opacity:.2;animation:celestial-drift 60s linear infinite;pointer-events:none}@keyframes celestial-drift{0%{transform:translateY(0)}to{transform:translateY(300px)}}.focus-modal-celestial{--gold: #fbbf24;--gold-glow: rgba(251, 191, 36, .4);--panel-bg: rgba(255, 255, 255, .04);--panel-border: rgba(255, 255, 255, .1);display:flex;flex-direction:column;gap:20px;padding:10px 4px}.focus-celestial-header{display:flex;align-items:center;gap:12px;margin-bottom:4px}.focus-celestial-header .icon{font-size:24px;filter:drop-shadow(0 0 8px var(--gold-glow))}.focus-celestial-header .title{font-size:20px;font-weight:900;letter-spacing:.05em;background:linear-gradient(to right,#fff,var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.focus-celestial-status{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1px #ffffff0d}.focus-celestial-status-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px}.focus-celestial-status-val{font-size:14px;font-weight:800;color:var(--gold)}.focus-celestial-section{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:16px;position:relative;transition:all .3s ease}.focus-celestial-section:focus-within{border-color:#fbbf2466;background:#ffffff12;box-shadow:0 0 20px #fbbf240d}.focus-celestial-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:#94a3b8;margin-bottom:12px}.focus-celestial-label span{color:var(--gold)}.focus-celestial-section select,.focus-celestial-section input[type=text],.focus-celestial-section textarea{width:100%;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;padding:10px 12px;font-size:14px;font-weight:600;outline:none;transition:all .2s ease}.focus-celestial-section select:focus,.focus-celestial-section input:focus{border-color:var(--gold);background:#0000004d}#goalMinutes{font-size:18px;color:var(--gold);text-align:center;font-weight:900}.focus-ignition-btn{margin-top:10px;height:56px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:14px;color:#fff;font-size:18px;font-weight:900;letter-spacing:.1em;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 10px 30px #d977064d,0 0 0 1px #fbbf2480;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.focus-ignition-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent);opacity:.5}.focus-ignition-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 15px 40px #d9770666,0 0 20px #fbbf2466}.focus-ignition-btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.focus-ignition-btn .icon-spark{animation:spark-pulse 2s infinite}@keyframes spark-pulse{0%,to{opacity:1;transform:scale(1);filter:brightness(1.2)}50%{opacity:.7;transform:scale(.9);filter:brightness(1)}}.focus-celestial-check{display:flex;align-items:center;gap:10px;padding:8px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.focus-celestial-check input{width:18px;height:18px;accent-color:var(--gold)}.focus-celestial-check span{font-size:13px;font-weight:700;color:#cbd5e1}@media(max-width:640px){.focus-celestial-status{flex-direction:column;align-items:flex-start;gap:8px}#goalSettingModal.focus-modal-celestial{overflow-x:hidden}#goalSettingModal.focus-modal-celestial .modal-content.modal-medium{box-sizing:border-box;width:calc(100vw - 16px);max-width:calc(100vw - 16px);margin:8px auto}}
