html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{min-width:320px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#202124;background:#f5f6f8;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh}.auth-loading,.data-loading{color:#777;justify-content:center;align-items:center;min-height:100vh;font-size:14px;font-weight:500;display:flex}.data-error{color:#666;justify-content:center;align-items:center;min-height:100vh;font-size:14px;font-weight:500;display:flex}.header{z-index:50;background:#fff;border-bottom:1px solid #ddd;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 32px;display:grid;position:sticky;top:0}.header-left-actions{justify-self:start;align-items:center;gap:20px;display:flex}.back-button{color:#222;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;height:40px;padding:0 14px;font-size:16px;font-weight:500;line-height:1;display:inline-flex}.back-button:hover{background:#f5f6f8}.back-button:active{background:#eceef0}.menu-button{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;justify-self:start;align-items:center;width:42px;height:42px;padding:0;font-size:24px;display:flex}.menu-button:hover{background:#f1f3f5}.page-title,.header h1{margin:0;font-size:24px}.page-title{justify-self:center}.header-spacer{justify-self:end;width:42px;height:42px}.header .add-button{justify-self:end}.add-button{color:#fff;cursor:pointer;background:#222;border:none;border-radius:10px;padding:10px 18px}.add-button:hover{opacity:.85}.main{padding:24px 32px}.summary{gap:16px;margin-bottom:32px;display:flex}.card{background:#fff;border-radius:14px;width:220px;padding:20px;box-shadow:0 2px 10px #0000000f}.card.warning{border:1px solid #f0d28a}.card.danger{border:1px solid #efaaaa}.card-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.label{color:#777;margin-bottom:8px;font-size:14px;display:block}.summary-hours{margin-bottom:14px;font-size:18px;display:block}.summary-detail{color:#777;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.summary-detail strong{color:#222;font-size:13px}.load-info{color:#777;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;display:flex}.load-info strong{color:#222}.load-bar{background:#e9ecef;border-radius:999px;width:100%;height:8px;margin-top:8px;overflow:hidden}.load-bar-fill{background:#4f6bed;border-radius:999px;height:100%;transition:width .2s}.load-status{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.weekly-task-section{background:#fff;border-radius:14px;margin-bottom:24px;padding:20px 24px;box-shadow:0 2px 10px #0000000a}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title-row h2{margin:0;font-size:18px}.section-title-row span{color:#777;font-size:13px}.weekly-task-list{flex-direction:column;display:flex}.weekly-task-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;min-height:58px;padding:10px 0;display:flex}.weekly-task-item:last-child{border-bottom:none}.weekly-task-item.clickable{cursor:pointer;transition:background-color .15s}.weekly-task-main{flex-direction:column;gap:4px;min-width:0;display:flex}.weekly-task-main span{color:#777;font-size:13px}.weekly-task-hours{white-space:nowrap;flex-shrink:0;font-weight:600}.weekly-task-empty{color:#777;text-align:center;padding:22px 0}.task-list-section{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:0 2px 10px #0000000a}.task-filter{-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:8px;margin-bottom:18px;display:flex;overflow-x:auto}.task-filter::-webkit-scrollbar{display:none}.task-filter-button{color:#555;cursor:pointer;background:#fff;border:1px solid #dcdfe4;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:500}.task-filter-button.selected{color:#fff;background:#222;border-color:#222}.parent-task-list{flex-direction:column;gap:10px;display:flex}.parent-task-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:72px;padding:14px 16px;display:flex}.parent-task-card-main{flex-direction:column;gap:6px;min-width:0;display:flex}.parent-task-title-row{align-items:center;gap:10px;min-width:0;display:flex}.parent-task-color{border-radius:999px;flex-shrink:0;width:10px;height:10px}.parent-task-period{color:#777;font-size:12px}.parent-task-card-info{color:#666;white-space:nowrap;flex-shrink:0;align-items:center;gap:18px;font-size:13px;display:flex}.parent-task-card-info strong{color:#222;font-size:15px}.gantt-section{background:#fff;border-radius:14px;padding:24px;overflow:visible}.gantt-section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.gantt-section-header h2{margin:0}.gantt-header-actions{align-items:center;gap:10px;display:flex}.gantt{border:1px solid #ddd;width:100%;min-width:900px;display:flex;position:relative;overflow:visible}.task-column{background:#fafafa;border-right:1px solid #ddd;flex-shrink:0;width:220px;min-width:220px}.timeline{flex:1;min-width:0;position:relative;overflow:auto hidden}.timeline-content{flex-shrink:0}.task-header,.timeline-header{border-bottom:1px solid #ddd;flex-shrink:0;height:56px;min-height:56px}.task-header{align-items:center;padding:0 16px;font-weight:600;display:flex}.task-header.overview-mode{height:56px;min-height:56px}.task-header.day-mode{height:88px;min-height:88px}.task-name-row,.timeline-row{border-bottom:1px solid #eee;width:100%;position:relative}.task-name-row.parent-row,.timeline-row.parent-row{height:56px;min-height:56px}.task-name-row.child-row,.timeline-row.child-row{background:#fafbfc;height:44px;min-height:44px}.timeline-row{position:relative}.task-name-row{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;display:grid}.task-name-row.child-row{grid-template-columns:52px minmax(0,1fr) 32px}.task-name{border-bottom:none;align-items:center;min-width:0;height:100%;padding:0 8px;display:flex}.task-name-button{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;width:100%;min-width:0;display:flex}.task-name-button:hover{background:#f1f3f5}.task-title{color:#111;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:16px;font-weight:600;overflow:hidden}.task-period{color:#888;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:10px;font-weight:400;overflow:hidden}.expand-button{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;min-width:32px;height:100%;padding:0;font-size:11px;display:flex}.expand-button:hover{background:#f1f3f5}.task-menu-button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;min-width:32px;height:100%;padding:0;font-size:18px;display:flex}.task-menu-button:hover{background:#f1f3f5}.child-indent{width:52px;min-width:52px;height:100%}.child-menu-spacer{width:32px;height:100%}.task-name-row .child-task-name{text-align:left;grid-column:2;align-items:center;width:100%;min-width:0;height:44px;padding:0 8px;display:flex}.child-task-title{color:#333;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:13px;font-weight:500;overflow:hidden}.parent-row,.child-row{position:relative}.task-action-menu{z-index:100;background:#fff;border:1px solid #ddd;border-radius:8px;width:150px;padding:6px;position:absolute;right:6px;box-shadow:0 6px 20px #0000001f}.task-action-menu.menu-down{top:44px;bottom:auto}.task-action-menu.menu-up{top:auto;bottom:44px}.child-action-menu.menu-down{top:36px;bottom:auto}.child-action-menu.menu-up{top:auto;bottom:36px}.task-action-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:9px 10px;font-size:13px}.menu-delete-button{color:#e45858}.menu-click-overlay{z-index:90;background:0 0;position:fixed;inset:0}.timeline-header{flex-shrink:0;height:56px;min-height:56px;position:relative}.overview-months{border-bottom:1px solid #e5e7eb;width:100%;min-width:0;height:100%;display:flex}.overview-month{box-sizing:border-box;white-space:nowrap;flex-shrink:0;align-items:center;height:100%;padding-left:10px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.sticky-month-label{z-index:30;background:#fff;border-bottom:1px solid #ddd;align-items:center;width:max-content;height:32px;padding:0 12px;font-size:13px;font-weight:600;display:flex;position:sticky;top:0;left:0}.timeline-days{border-bottom:1px solid #e5e7eb;width:max-content;height:56px;display:flex}.timeline-day{color:#666;border-bottom:1px solid #dfe3e8;border-right:1px solid #eef0f2;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;height:56px;font-size:12px;display:flex}.timeline-day-date{color:#222;font-size:14px;font-weight:600}.timeline-day-week{color:#888;margin-top:2px;font-size:11px}.timeline-day.today{background:#4f6bed1a;border:none;position:relative}.timeline-day.today:before{content:"";box-sizing:border-box;pointer-events:none;border:2px solid #4f6bed;position:absolute;inset:0}.timeline-day.today .timeline-day-date{color:#4f6bed;font-weight:700}.timeline-grid{pointer-events:none;display:flex;position:absolute;inset:0}.timeline-grid-day{border-right:1px solid #eef0f2;flex-shrink:0;height:100%}.task-bar{z-index:2;color:#fff;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:none;border-radius:8px;align-items:center;height:36px;padding:0 12px;font-size:13px;font-weight:600;display:flex;position:absolute;top:10px;overflow:hidden}.child-task-bar{opacity:.75;border-radius:6px;height:28px;font-size:12px;font-weight:500;top:8px}.today-button{color:#333;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe4;border-radius:8px;height:40px;padding:0 16px;font-size:14px;font-weight:600}.landscape-notice{display:none}.gantt-view-switch{background:#f1f2f4;border-radius:8px;padding:3px;display:inline-flex}.gantt-view-switch button{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:56px;height:34px;padding:0 14px;font-size:13px}.gantt-view-switch button.active{color:#222;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.gantt-view-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.child-task-page .timeline{min-width:0;position:relative;overflow:auto hidden}.child-task-page .timeline-days{width:max-content;display:flex}.child-task-page .timeline-day,.child-task-page .timeline-grid-day{box-sizing:border-box;border-right:1px solid #eef0f2;flex:none}.child-task-page .timeline-row{min-width:0;position:relative}.child-task-page .child-page-task-row{grid-template-columns:minmax(0,1fr) 48px 32px;align-items:center;height:44px;min-height:44px;display:grid}.child-task-page .child-page-task-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-left:16px;font-size:14px;font-weight:500;overflow:hidden}.child-task-page .child-page-task-hours{text-align:right;color:#777;white-space:nowrap;font-size:13px}.child-task-page .child-page-task-row .task-menu-button{justify-content:center;align-items:center;width:32px;min-width:32px;padding:0;display:flex}.child-task-page .child-task-bar{box-sizing:border-box;white-space:nowrap;border-radius:6px;align-items:center;height:28px;padding:0 12px;display:flex;position:absolute;top:8px;overflow:hidden}.child-task-page .timeline-header{box-sizing:border-box;height:56px;min-height:56px;position:relative}.child-task-page .overview-months{width:100%;height:100%;display:flex}.child-task-page .overview-month{box-sizing:border-box;white-space:nowrap;flex-shrink:0;align-items:center;height:100%;padding-left:10px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.compare-child-title-area{flex-direction:column;justify-content:center;min-width:0;padding-left:16px;display:flex}.compare-child-title-area .child-page-task-title{padding-left:0}.compare-parent-title{color:#888;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:400;line-height:1.1;overflow:hidden}.compare-timeline-row{height:44px;min-height:44px}.compare-task-bar{opacity:.75;border-radius:6px;height:28px;font-size:12px;font-weight:500;top:8px}.compare-load-label{box-sizing:border-box;border-bottom:1px solid #e5e7eb;align-items:center;height:44px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.load-row{box-sizing:border-box;border-bottom:1px solid #e5e7eb;height:44px;display:flex}.load-day{box-sizing:border-box;white-space:nowrap;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;height:44px;font-size:12px;font-weight:600;display:flex}.load-day.non-working-day{color:#9ca3af}.load-day-hours{font-size:12px;font-weight:700;line-height:1}.load-day-rate{opacity:.75;font-size:10px;font-weight:600;line-height:1}.load-week{box-sizing:border-box;white-space:nowrap;border-right:1px solid #d1d5db;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;height:44px;font-size:13px;font-weight:600;display:flex}.overview-load-row .load-week{border-right:1px solid #d9dee8;height:44px;font-size:12px}.overview-load-row .load-week-weekend{background:0 0;border-right:1px solid #d9dee8}.load-week-hours{font-size:14px;font-weight:700;line-height:1}.load-week-rate{opacity:.75;font-size:11px;font-weight:600;line-height:1}.overview-load-row .load-week.load-zero,.load-row .load-day.load-zero{color:#6c757d;background:#f1f3f5}.overview-load-row .load-week.load-low,.load-row .load-day.load-low{color:#2f855a;background:#e7f6ed}.overview-load-row .load-week.load-high,.load-row .load-day.load-high{color:#b7791f;background:#fff4df}.overview-load-row .load-week.load-over,.load-row .load-day.load-over{color:#d14343;background:#fde8e8}.panel-overlay{z-index:100;background:#00000040;position:fixed;inset:0}.task-panel{z-index:101;background:#fff;width:min(420px,90vw);height:100vh;animation:.2s ease-out slideIn;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-8px 0 30px #00000026}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.task-panel-header{z-index:2;background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex;position:sticky;top:0}.task-panel-header h2{margin:0;font-size:20px}.close-button{cursor:pointer;background:#f1f1f1;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:26px;line-height:1;display:flex}.task-form{flex-direction:column;gap:8px;padding:28px 24px;display:flex}.task-form label{flex-direction:column;gap:8px;font-weight:600;display:flex}.task-form input{border:1px solid #ccc;border-radius:8px;width:100%;height:44px;padding:0 12px;font-size:16px}.color-field{flex-direction:column;gap:10px;font-weight:600;display:flex}.color-options{flex-wrap:wrap;gap:12px;display:flex}.color-circle{border:1px solid #31483f40;border-radius:50%;width:32px;height:32px;transition:transform .15s,outline .15s}.color-circle:hover{transform:scale(1.08)}.color-circle.selected{outline-offset:3px;outline:3px solid #31483f;transform:scale(1.08)}.parent-period-guide{background:#f5f6f8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.parent-period-guide span{color:#777;font-size:12px}.parent-period-guide strong{color:#222;text-align:right;font-size:13px}.hours-input-inside{width:100%;position:relative}.hours-input-inside input{width:100%;padding-right:56px}.hours-input-inside span{color:#666;pointer-events:none;font-size:14px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.form-actions{gap:12px;margin-top:16px;display:flex}.cancel-button,.save-button{cursor:pointer;border-radius:9px;flex:1;height:46px;font-size:16px}.cancel-button{background:#fff;border:1px solid #ccc}.save-button{color:#fff;background:#222;border:none}.cancel-button:hover{background:#f5f6f8}.save-button:hover{opacity:.85}.delete-button{color:#e45858;cursor:pointer;background:#fff;border:1px solid #e45858;border-radius:9px;width:100%;height:46px;margin-top:8px;font-size:15px;font-weight:600}.delete-button:hover{background:#fff3f3}.menu-overlay{z-index:100;background:#00000040;position:fixed;inset:0}.side-menu{z-index:101;background:#fff;width:280px;height:100vh;animation:.2s ease-out slideMenuIn;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:8px 0 30px #00000026}@keyframes slideMenuIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.side-menu-header{z-index:2;background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;height:72px;padding:0 20px;display:flex;position:sticky;top:0}.side-menu-header strong{font-size:20px}.side-menu-nav{flex-direction:column;padding:12px;display:flex}.side-menu-nav button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:14px 16px;font-size:16px}.settings-section{background:#fff;border-radius:14px;width:100%;max-width:720px;margin:0 auto;padding:28px}.settings-section h2{margin-top:0}.settings-form{flex-direction:column;gap:8px;display:flex}.settings-form label{flex-direction:column;gap:8px;font-weight:600;display:flex}.setting-input{position:relative}.setting-input input{border:1px solid #ccc;border-radius:8px;width:100%;height:44px;padding:0 56px 0 12px;font-size:16px}.setting-input span{color:#666;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.settings-save-button{width:100%;margin-top:20px}.workday-setting{flex-direction:column;gap:8px;display:flex}.setting-label{font-weight:600}.weekday-options{flex-wrap:wrap;gap:8px;display:flex}.weekday-button{color:#444;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;width:44px;height:44px;padding:0}.weekday-button.selected{color:#fff;background:#4f6bed;border-color:#4f6bed}.workday-count{color:#777}.capacity-preview{gap:8px;margin-top:28px;display:flex}.capacity-preview>div{background:#f5f6f8;border-radius:10px;flex:1;padding:18px}.capacity-preview span{color:#777;margin-bottom:6px;font-size:14px;display:block}.capacity-preview strong{font-size:22px}.capacity-preview small{color:#777;margin-top:6px;font-size:12px;display:block}.holiday-setting-section{border-top:1px solid #eee;margin-top:36px;padding-top:28px}.holiday-setting-section h2{margin:0 0 20px}.holiday-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.holiday-form label{flex-direction:column;gap:8px;min-width:0;font-weight:600;display:flex}.holiday-form input{border:1px solid #ccc;border-radius:8px;width:100%;height:44px;padding:0 12px;font-size:15px}.holiday-add-button{height:44px;padding:0 18px}.holiday-list{margin-top:20px}.holiday-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 0;display:flex}.holiday-item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.holiday-item-main span{color:#777;font-size:13px}.holiday-delete-button{color:#e45858;cursor:pointer;background:0 0;border:none;flex-shrink:0}.holiday-empty{color:#777;text-align:center;padding:20px 0}.working-holiday-list{flex-direction:column;margin-top:16px;display:flex}.working-holiday-year{width:100%}.working-holiday-year-header{cursor:pointer;background:0 0;border:none;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;width:100%;height:48px;padding:0;font-size:15px;font-weight:600;display:flex}.working-holiday-year-arrow{font-size:18px;font-weight:400}.working-holiday-year-list{width:100%}.working-holiday-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.working-holiday-info{align-items:center;gap:16px;min-width:0;display:flex}.working-holiday-date{color:#222;min-width:110px;font-size:14px;font-weight:600}.working-holiday-name{color:#777;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:400;overflow:hidden}.working-holiday-toggle{cursor:pointer;border:none;border-radius:8px;flex-shrink:0;min-width:72px;padding:7px 12px;font-size:13px;font-weight:600}.working-holiday-toggle.non-working{color:#6b7280;background:#f1f3f5}.working-holiday-toggle.working{color:#2f8f5b;background:#e7f6ed}.calendar-section{background:#fff;border-radius:14px;width:100%;max-width:1200px;margin:0 auto;padding:12px}.calendar-two-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.calendar-month{flex-direction:column;min-width:0;display:flex}.calendar-month-title{text-align:center;margin:0 0 8px;font-size:18px}.calendar-toolbar{justify-content:center;align-items:center;gap:24px;margin-bottom:14px;display:flex}.calendar-toolbar h2{text-align:center;min-width:150px;margin:0;font-size:22px}.calendar-toolbar button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays>div{border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-right:1px solid #ddd;justify-content:center;align-items:center;height:24px;padding:0;font-size:11px;font-weight:600;display:flex}.calendar-weekdays>div:first-child{border-left:1px solid #ddd}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-content:start;display:grid}.calendar-cell{cursor:pointer;background:#fff;border:1px solid #ddd;border-top:none;border-left:none;height:61px;min-height:61px;padding:6px;position:relative}.calendar-grid .calendar-cell:nth-child(7n+1){border-left:1px solid #ddd}.calendar-cell.last-day{border-right:1px solid #ddd}.calendar-cell-empty{cursor:default;background:#fafafa}.calendar-cell-empty.after-month{visibility:hidden}.calendar-cell.weekend{background:#f7f7f8}.calendar-cell-header{justify-content:space-between;align-items:center;display:flex;position:absolute;top:6px;left:8px;right:8px}.calendar-date{font-size:14px;font-weight:600;line-height:1}.calendar-day-label{color:#777;font-size:9px;font-weight:500;position:absolute;top:0;right:0}.calendar-load{position:absolute;bottom:6px;left:8px;right:8px}.calendar-load strong{text-align:right;margin-bottom:3px;font-size:10px;font-weight:600;display:block}.calendar-load-bar{background:#e9ecef;border-radius:999px;width:100%;height:5px;overflow:hidden}.calendar-load-fill{border-radius:999px;height:100%}.load-zero{background:#adb5bd}.load-low{background:#35a56f}.load-high{background:#e7983c}.load-over{background:#e45858}.calendar-cell:focus{outline:none}.calendar-cell:focus-visible{outline-offset:-2px;outline:2px solid #4f6bed}.calendar-navigation-bottom{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.calendar-navigation-bottom button{appearance:none;text-align:center;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;line-height:1;display:flex;position:relative}.calendar-navigation-bottom button:hover{background:#f5f6f8}.calendar-nav-arrow{border-top:1px solid #222;border-right:1px solid #222;width:8px;height:8px;position:absolute;top:calc(50% + .5px);left:50%}.calendar-nav-arrow.arrow-left{transform:translate(calc(2px - 50%),-50%)rotate(-135deg)}.calendar-nav-arrow.arrow-right{transform:translate(calc(-50% - 1.5px),-50%)rotate(45deg)}.calendar-modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calendar-modal{background:#fff;border-radius:16px;width:min(520px,100% - 40px);padding:24px;box-shadow:0 12px 40px #0000002e}.calendar-modal-header{justify-content:space-between;align-items:center;display:flex}.calendar-modal-title-row{align-items:center;gap:12px;min-width:0;display:flex}.calendar-modal-header h2{margin:0;font-size:22px}.calendar-modal-close{cursor:pointer;background:0 0;border:none;flex-shrink:0;width:40px;height:40px;padding:0;font-size:28px;line-height:1}.calendar-modal-content{margin-top:24px}.calendar-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-detail-summary>div{background:#f5f6f8;border-radius:10px;min-width:0;padding:14px}.calendar-detail-summary span{color:#777;margin-bottom:6px;font-size:12px;display:block}.calendar-detail-summary strong{font-size:20px}.calendar-detail-tasks{margin-top:24px}.calendar-detail-tasks h3{margin:0 0 12px}.calendar-detail-task{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.calendar-detail-task-main{flex-direction:column;gap:4px;min-width:0;display:flex}.calendar-detail-task-main>span:first-child{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.calendar-detail-task-period{color:#777;font-size:12px}.calendar-detail-task-hours{white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.calendar-detail-task-hours span{color:#777;font-size:12px}.calendar-detail-task-hours strong{font-size:14px}.calendar-detail-day-type{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.calendar-detail-day-type.working-holiday-label{color:#d94c4c;background:#ecfdf3}.calendar-detail-day-type.holiday-label{color:#d94c4c;background:#fff1f1}.login-page{background:#f5f6f8;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:16px;width:min(360px,100%);padding:32px;box-shadow:0 4px 20px #00000014}.login-card h1{text-align:center;margin:0 0 8px}.login-description{color:#777;text-align:center;margin:0 0 24px}.reset-description{color:#777;text-align:center;margin:-8px 0 24px;font-size:14px;line-height:1.6}.login-card label{flex-direction:column;gap:8px;margin-bottom:16px;font-weight:600;display:flex}.login-card input{border:1px solid #ccc;border-radius:8px;width:100%;height:44px;padding:0 12px;font-size:16px}.login-card input:focus{border-color:#4f6bed;outline:none;box-shadow:0 0 0 2px #4f6bed26}.login-button,.signup-button,.reset-button{cursor:pointer;border-radius:8px;width:100%;height:44px;margin-top:3px}.login-button{color:#fff;background:#222;border:none}.login-button:hover{opacity:.85}.signup-button{background:#fff;border:1px solid #ccc}.signup-button:hover{background:#f5f6f8}.reset-button{color:#666;background:#fff;border:none;font-size:14px}.login-button:disabled,.signup-button:disabled,.reset-button:disabled{opacity:.6;cursor:not-allowed}.login-message{color:#555;background:#f5f6f8;border-radius:8px;margin-top:12px;padding:12px;font-size:14px;line-height:1.5}.account-delete-section{border-top:1px solid #eee;margin-top:36px;padding-top:28px}.account-delete-section h2{margin:0 0 20px}.account-delete-box{background:snow;border:1px solid #f0b8b8;border-radius:10px;padding:20px}.account-delete-box strong{color:#d14343;margin-bottom:8px;font-size:16px;display:block}.account-delete-box p{color:#666;margin:4px 0;font-size:14px;line-height:1.6}.account-delete-button{color:#e45858;cursor:pointer;background:#fff;border:1px solid #e45858;border-radius:8px;width:100%;height:44px;margin-top:18px;font-weight:600}.account-delete-button:hover{background:#fff3f3}.account-delete-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px) and (orientation:portrait){.header{height:64px;padding:0 16px}.header h1,.page-title{font-size:20px}.main{padding:16px}.add-button{padding:8px 12px;font-size:13px}.summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.card{width:100%;min-width:0;padding:16px}.card strong,.card span,.card div{word-break:normal;overflow-wrap:normal}.summary-hours{font-size:18px}.summary-detail{gap:8px}.summary-detail span,.summary-detail strong{white-space:nowrap}.weekly-task-section,.task-list-section{padding:16px}.weekly-task-item{gap:12px}.weekly-task-main{min-width:0}.weekly-task-main strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weekly-task-hours{flex-shrink:0}.task-filter{gap:6px;margin-bottom:14px}.task-filter-button{padding:6px 12px;font-size:12px}.parent-task-card{gap:12px}.parent-task-card-main{min-width:0}.parent-task-card-info{gap:10px;font-size:12px}.back-button{height:38px;padding:0 12px;font-size:15px}.settings-section{border-radius:12px;padding:20px 16px}.capacity-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.capacity-preview>div{min-width:0;padding:14px}.capacity-preview strong{font-size:20px}.weekday-options{gap:6px}.weekday-button{width:40px;height:40px}.holiday-form{grid-template-columns:1fr}.holiday-add-button{width:100%}.working-holiday-info{gap:10px}.working-holiday-date{min-width:96px;font-size:13px}.working-holiday-name{font-size:12px}.working-holiday-toggle{min-width:66px;padding:7px 10px}.calendar-two-months{grid-template-columns:1fr}.calendar-section{padding:10px}.calendar-month-title{font-size:16px}.calendar-cell{height:56px;min-height:56px;padding:4px}.calendar-date{font-size:12px}.calendar-day-label{font-size:8px}.calendar-load{bottom:5px;left:5px;right:5px}.calendar-load strong{font-size:9px}.calendar-modal{width:calc(100% - 24px);max-height:calc(100vh - 24px);padding:18px;overflow-y:auto}.calendar-detail-summary{grid-template-columns:1fr}.login-page{padding:16px}.login-card{width:100%;max-width:360px;padding:24px 20px}.task-panel{width:min(360px,94vw)}.task-panel-header{height:64px;padding:0 18px}.task-form{padding:20px 18px}.side-menu{width:min(280px,84vw)}.gantt-section{padding:12px;overflow:visible}.gantt-section-header{margin-bottom:12px}.gantt{width:100%;min-width:0;overflow:visible}.task-column{z-index:5;flex-shrink:0;width:150px;min-width:150px;position:relative}.timeline{-webkit-overflow-scrolling:touch;flex:1;min-width:0;overflow:auto hidden}.task-title{font-size:13px}.task-period{font-size:9px}.task-name{padding:0 4px}.task-menu-button{width:28px;min-width:28px}.gantt-view-switch button{min-width:48px;padding:0 10px}.today-button{padding:0 12px}.landscape-notice{color:#666;text-align:center;background:#f5f6f8;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:block}}@media (height<=600px) and (orientation:landscape){.header{height:56px;padding:0 16px}.header h1,.page-title{font-size:20px}.menu-button{width:38px;height:38px;font-size:22px}.add-button{padding:8px 14px;font-size:13px}.main{padding:12px 16px}.gantt-section{padding:10px 12px;overflow:hidden}.gantt-section-header{margin-bottom:8px}.gantt-header-actions{gap:8px}.gantt{width:100%;min-width:0;overflow:hidden}.task-column{z-index:5;background:#fafafa;flex-shrink:0;width:200px;min-width:200px;position:relative}.timeline{-webkit-overflow-scrolling:touch;flex:1;min-width:0;overflow:auto hidden}.gantt-view-switch{padding:2px}.gantt-view-switch button{min-width:50px;height:32px;padding:0 10px;font-size:12px}.today-button{height:36px;padding:0 12px;font-size:12px}.task-header,.timeline-header,.task-header.overview-mode{height:48px;min-height:48px}.task-filter{gap:6px;margin-bottom:12px}.task-filter-button{padding:6px 12px;font-size:12px}.task-header.day-mode{height:80px;min-height:80px}.task-name-row.parent-row,.timeline-row.parent-row{height:50px;min-height:50px}.task-name-row.child-row,.timeline-row.child-row{height:40px;min-height:40px}.task-name-row{grid-template-columns:28px minmax(0,1fr) 30px}.task-name-row.child-row{grid-template-columns:44px minmax(0,1fr) 30px}.expand-button{width:28px;min-width:28px}.task-menu-button{width:30px;min-width:30px}.task-name{padding:0 6px}.task-title{font-size:13px}.task-period{font-size:9px}.child-task-title{font-size:12px}.task-name-row .child-task-name{height:40px}.task-bar{height:34px;padding:0 10px;font-size:12px;top:8px}.child-task-bar{height:26px;font-size:11px;top:7px}.sticky-month-label{height:28px;padding:0 10px;font-size:12px}.timeline-days,.timeline-day{height:52px}.timeline-day-date{font-size:13px}.timeline-day-week{font-size:10px}.compare-child-title-area{padding-left:10px}.compare-parent-title{font-size:9px}.compare-timeline-row,.compare-load-label,.load-row,.load-day,.load-week{height:40px;min-height:40px}.compare-task-bar{height:26px;font-size:11px;top:7px}.load-day-hours,.load-week-hours{font-size:11px}.load-day-rate,.load-week-rate{font-size:9px}.calendar-section{padding:8px}.calendar-two-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-month-title{margin-bottom:6px;font-size:15px}.calendar-weekdays>div{height:20px;font-size:9px}.calendar-cell{height:48px;min-height:48px;padding:4px}.calendar-cell-header{top:4px;left:5px;right:5px}.calendar-date{font-size:11px}.calendar-day-label{font-size:7px}.calendar-load{bottom:4px;left:5px;right:5px}.calendar-load strong{margin-bottom:2px;font-size:8px}.calendar-load-bar{height:4px}.calendar-navigation-bottom{margin-top:6px}.calendar-navigation-bottom button{width:34px;height:34px}.task-panel{width:min(420px,70vw)}.task-panel-header{height:56px;padding:0 18px}.task-panel-header h2{font-size:18px}.task-form{padding:16px 18px}.task-form input{height:40px}.form-actions{margin-top:10px}.cancel-button,.save-button,.delete-button{height:42px}.side-menu{width:250px}.side-menu-header{height:56px}.side-menu-nav{padding:8px}.side-menu-nav button{padding:10px 14px;font-size:14px}}:root{--gekimu-bg:#f2eee3;--gekimu-surface:#fffdf7;--gekimu-surface-soft:#e9e4d8;--gekimu-ink:#183b36;--gekimu-text:#26332f;--gekimu-muted:#74786f;--gekimu-border:#d7d1c3;--gekimu-border-strong:#bdb6a7;--gekimu-primary:#1f5149;--gekimu-primary-hover:#183f39;--gekimu-primary-soft:#dce8e2;--gekimu-accent:#e58b39;--gekimu-accent-soft:#f7e4cf;--gekimu-safe:#4d7a64;--gekimu-safe-bg:#dfe9df;--gekimu-warning:#a86d22;--gekimu-warning-bg:#f4e4bd;--gekimu-danger:#b94d3f;--gekimu-danger-bg:#f2d6cf;--gekimu-zero:#858980;--gekimu-zero-bg:#e5e3dc;--gekimu-shadow:0 1px 2px #21322d0d, 0 8px 24px #21322d0a}body{background:var(--gekimu-bg);color:var(--gekimu-text)}::selection{background:var(--gekimu-primary);color:#fffdf7}.header{border-bottom:1px solid var(--gekimu-border);background:#fffdf7f5}.page-title,.header h1{color:var(--gekimu-ink);letter-spacing:-.02em;font-weight:800}.menu-button,.back-button{color:var(--gekimu-ink)}.menu-button:hover,.back-button:hover{background:var(--gekimu-surface-soft)}.add-button,.save-button,.login-button{background:var(--gekimu-primary);color:#fffdf7}.add-button:hover,.save-button:hover,.login-button:hover{background:var(--gekimu-primary-hover);opacity:1}.card,.weekly-task-section,.task-list-section,.gantt-section,.settings-section,.calendar-section,.login-card{background:var(--gekimu-surface);border:1px solid var(--gekimu-border);box-shadow:var(--gekimu-shadow)}.label,.summary-detail,.load-info,.weekly-task-main span,.parent-task-period,.section-title-row span{color:var(--gekimu-muted)}.summary-detail strong,.load-info strong,.parent-task-card-info strong{color:var(--gekimu-ink)}.weekly-task-item,.holiday-item{border-bottom-color:var(--gekimu-border)}.weekly-task-item.clickable:hover{background:#f5f1e8}.card.warning{background:#fffaf0;border-color:#d9ad67}.card.danger{background:#fff7f4;border-color:#d38b80}.load-bar{background:#ded9cd}.load-bar-fill{background:var(--gekimu-primary)}.load-bar-fill.over{background:var(--gekimu-danger)}.load-status.warning{color:var(--gekimu-warning);background:var(--gekimu-warning-bg)}.load-status.danger{color:var(--gekimu-danger);background:var(--gekimu-danger-bg)}.task-filter-button{border-color:var(--gekimu-border);background:var(--gekimu-surface);color:var(--gekimu-muted)}.task-filter-button:hover{background:var(--gekimu-surface-soft)}.task-filter-button.selected{border-color:var(--gekimu-primary);background:var(--gekimu-primary);color:#fffdf7}.parent-task-card{border-color:var(--gekimu-border);background:var(--gekimu-surface)}.parent-task-card:hover{background:#f7f3e9}.gantt{border-color:var(--gekimu-border);background:var(--gekimu-surface)}.task-column{border-right-color:var(--gekimu-border);background:#f4f0e7}.task-header,.timeline-header{border-bottom-color:var(--gekimu-border)}.task-name-row,.timeline-row{border-bottom-color:#e5e0d5}.task-name-row.child-row,.timeline-row.child-row{background:#faf7ef}.task-title{color:var(--gekimu-ink)}.task-period,.compare-parent-title{color:var(--gekimu-muted)}.child-task-title{color:var(--gekimu-text)}.task-name-button:hover,.expand-button:hover,.task-menu-button:hover{background:#eae5da}.overview-months{border-bottom-color:var(--gekimu-border)}.overview-month{color:var(--gekimu-ink)}.sticky-month-label{background:var(--gekimu-surface);border-bottom-color:var(--gekimu-border);color:var(--gekimu-ink)}.timeline-days{border-bottom-color:var(--gekimu-border)}.timeline-day{border-right-color:#e8e3d8;border-bottom-color:var(--gekimu-border);color:var(--gekimu-muted)}.timeline-day-date{color:var(--gekimu-text)}.timeline-day-week{color:var(--gekimu-muted)}.timeline-grid-day{border-right-color:#ebe6db}.timeline-day.weekend,.timeline-grid-day.weekend{background:#eeece5}.timeline-day.holiday,.timeline-grid-day.holiday{background:#f6e3df}.timeline-day.holiday .timeline-day-date,.timeline-day.holiday .timeline-day-week{color:var(--gekimu-danger)}.timeline-day.user-holiday,.timeline-grid-day.user-holiday{background:#f7ead4}.timeline-day.user-holiday .timeline-day-date,.timeline-day.user-holiday .timeline-day-week{color:var(--gekimu-warning)}.timeline-day.today{background:var(--gekimu-primary-soft)}.timeline-day.today:before{border-color:var(--gekimu-primary)}.timeline-day.today .timeline-day-date{color:var(--gekimu-primary)}.today-button{border-color:var(--gekimu-border);background:var(--gekimu-surface);color:var(--gekimu-ink)}.today-button:hover{background:var(--gekimu-surface-soft)}.gantt-view-switch{background:#e4dfd4}.gantt-view-switch button{color:var(--gekimu-muted)}.gantt-view-switch button.active{background:var(--gekimu-surface);color:var(--gekimu-ink);box-shadow:0 1px 4px #21322d1f}.task-action-menu{background:var(--gekimu-surface);border-color:var(--gekimu-border);box-shadow:0 8px 28px #21322d26}.task-action-menu button{color:var(--gekimu-text)}.task-action-menu button:hover{background:var(--gekimu-surface-soft)}.menu-delete-button,.task-action-menu .menu-delete-button{color:var(--gekimu-danger)}.task-action-menu .menu-delete-button:hover{background:var(--gekimu-danger-bg)}.overview-load-row .load-week.load-zero,.load-row .load-day.load-zero{background:var(--gekimu-zero-bg);color:var(--gekimu-zero)}.overview-load-row .load-week.load-low,.load-row .load-day.load-low{background:var(--gekimu-safe-bg);color:var(--gekimu-safe)}.overview-load-row .load-week.load-high,.load-row .load-day.load-high{background:var(--gekimu-warning-bg);color:var(--gekimu-warning)}.overview-load-row .load-week.load-over,.load-row .load-day.load-over{background:var(--gekimu-danger-bg);color:var(--gekimu-danger)}.compare-load-label,.load-row,.load-day,.load-week{border-color:var(--gekimu-border)}.panel-overlay,.menu-overlay{background:#183b363d}.task-panel{background:var(--gekimu-surface);box-shadow:-10px 0 40px #183b362e}.task-panel-header{background:var(--gekimu-surface);border-bottom-color:var(--gekimu-border)}.task-panel-header h2{color:var(--gekimu-ink)}.close-button{background:var(--gekimu-surface-soft);color:var(--gekimu-ink)}.task-form input,.setting-input input,.holiday-form input,.login-card input{border-color:var(--gekimu-border);color:var(--gekimu-text);background:#fffefa}.task-form input:focus,.setting-input input:focus,.holiday-form input:focus,.login-card input:focus{border-color:var(--gekimu-primary);outline:none;box-shadow:0 0 0 3px #1f51491f}.parent-period-guide{background:var(--gekimu-surface-soft)}.parent-period-guide span{color:var(--gekimu-muted)}.parent-period-guide strong{color:var(--gekimu-ink)}.cancel-button,.signup-button{border-color:var(--gekimu-border);background:var(--gekimu-surface);color:var(--gekimu-text)}.cancel-button:hover,.signup-button:hover{background:var(--gekimu-surface-soft)}.color-blue{background:#47736f}.color-green{background:#65755f}.color-orange{background:#b77b45}.color-purple{background:#756b78}.color-red{background:#9a6258}.color-circle:hover,.color-circle.selected{border-color:var(--gekimu-ink)}.side-menu{background:var(--gekimu-surface);box-shadow:8px 0 32px #183b3629}.side-menu-header{background:var(--gekimu-surface);border-bottom-color:var(--gekimu-border)}.side-menu-header strong{color:var(--gekimu-ink);letter-spacing:.04em;font-weight:800}.side-menu-nav button{color:var(--gekimu-text)}.side-menu-nav button:hover{background:var(--gekimu-surface-soft)}.weekday-button{border-color:var(--gekimu-border);background:var(--gekimu-surface);color:var(--gekimu-muted)}.weekday-button.selected{border-color:var(--gekimu-primary);background:var(--gekimu-primary);color:#fffdf7}.capacity-preview>div{background:var(--gekimu-surface-soft)}.capacity-preview span,.capacity-preview small,.workday-count{color:var(--gekimu-muted)}.capacity-preview strong{color:var(--gekimu-ink)}.holiday-setting-section,.account-delete-section{border-top-color:var(--gekimu-border)}.working-holiday-year-header,.working-holiday-item{border-bottom-color:var(--gekimu-border)}.working-holiday-date{color:var(--gekimu-ink)}.working-holiday-name{color:var(--gekimu-muted)}.working-holiday-toggle.non-working{background:var(--gekimu-zero-bg);color:var(--gekimu-zero)}.working-holiday-toggle.working{background:var(--gekimu-safe-bg);color:var(--gekimu-safe)}.calendar-toolbar button,.calendar-navigation-bottom button{border-color:var(--gekimu-border);background:var(--gekimu-surface);color:var(--gekimu-ink)}.calendar-toolbar button:hover,.calendar-navigation-bottom button:hover{background:var(--gekimu-surface-soft)}.calendar-weekdays>div,.calendar-cell{border-color:var(--gekimu-border)}.calendar-cell{background:var(--gekimu-surface)}.calendar-cell-empty,.calendar-cell.weekend{background:#efede6}.calendar-cell.holiday{background:#f6e3df}.calendar-cell.user-holiday{background:#f7ead4}.calendar-cell.holiday .calendar-day-label{color:var(--gekimu-danger)}.calendar-cell.user-holiday .calendar-day-label{color:var(--gekimu-warning)}.calendar-load-bar{background:#ded9cd}.calendar-load-fill.load-zero,.load-zero{background:var(--gekimu-zero)}.calendar-load-fill.load-low,.load-low{background:var(--gekimu-safe)}.calendar-load-fill.load-high,.load-high{background:var(--gekimu-warning)}.calendar-load-fill.load-over,.load-over{background:var(--gekimu-danger)}.calendar-detail-load-rate.rate-zero{color:var(--gekimu-zero)}.calendar-detail-load-rate.rate-low{color:var(--gekimu-safe)}.calendar-detail-load-rate.rate-high{color:var(--gekimu-warning)}.calendar-detail-load-rate.rate-over{color:var(--gekimu-danger)}.calendar-modal-overlay{background:#183b364d}.calendar-modal{background:var(--gekimu-surface);border:1px solid var(--gekimu-border);box-shadow:0 16px 48px #183b362e}.calendar-detail-summary>div{background:var(--gekimu-surface-soft)}.calendar-detail-summary span,.calendar-detail-task-period,.calendar-detail-task-hours span{color:var(--gekimu-muted)}.calendar-detail-task{border-bottom-color:var(--gekimu-border)}.login-page{background:var(--gekimu-bg)}.login-card h1{color:var(--gekimu-ink);letter-spacing:.05em;font-weight:800}.login-description,.reset-description{color:var(--gekimu-muted)}.reset-button{color:var(--gekimu-muted);background:0 0}.reset-button:hover{color:var(--gekimu-primary)}.login-message{background:var(--gekimu-surface-soft);color:var(--gekimu-text)}.delete-button,.account-delete-button{border-color:var(--gekimu-danger);background:var(--gekimu-surface);color:var(--gekimu-danger)}.delete-button:hover,.account-delete-button:hover{background:var(--gekimu-danger-bg)}.account-delete-box{background:#fff8f3;border-color:#dca99e}.account-delete-box strong{color:var(--gekimu-danger)}.account-delete-box p{color:var(--gekimu-muted)}.calendar-detail-day-type{border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.calendar-detail-day-type.user-holiday-label,.calendar-detail-day-type.working-holiday-label,.calendar-detail-day-type.holiday-label{color:#8a5f58;background:#e8dedb}.calendar-detail-day-type.non-workday-label{color:#696b65;background:#e4e2dc}.legal-section{background:var(--gekimu-surface);border:1px solid var(--gekimu-border);width:100%;max-width:760px;box-shadow:var(--gekimu-shadow);border-radius:14px;margin:0 auto;padding:36px}.legal-section>h1{color:var(--gekimu-ink);margin:0;font-size:28px}.legal-updated{color:var(--gekimu-muted);margin:8px 0 32px;font-size:13px}.legal-block{margin-top:28px}.legal-block h2{color:var(--gekimu-ink);margin:0 0 12px;font-size:18px}.legal-block p,.legal-block li{color:var(--gekimu-text);font-size:14px;line-height:1.9}.legal-block p{margin:8px 0}.legal-block ul{padding-left:22px}.login-legal-links{justify-content:center;align-items:center;gap:6px;margin-top:24px;font-size:12px;display:flex}.login-legal-links button{color:var(--gekimu-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.login-legal-links button:hover{text-decoration:underline}.legal-back-button{background:var(--gekimu-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:36px;padding:12px 20px;font-weight:600}.login-card .signup-agreement{flex-direction:row;align-items:center;gap:8px;margin:12px 0;font-size:12px;line-height:1.6;display:flex}.login-card .signup-agreement input[type=checkbox]{flex:0 0 16px;width:16px;min-width:16px;height:16px;margin:0;padding:0}.login-card .signup-agreement span{display:inline}.signup-agreement button{color:var(--gekimu-primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}@media (width<=600px) and (orientation:portrait){.landscape-notice{background:var(--gekimu-primary-soft);color:var(--gekimu-primary);border:1px solid #bfd1c8}}@media (width<=600px){.legal-section{padding:24px 18px}.legal-section>h1{font-size:24px}.legal-block h2{font-size:17px}}
