:root{--z-backdrop: 999;--z-dropdown: 1000;--z-modal: 1100}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;margin:0;background:#f7f9fc;color:#111}h1{margin:8px 0}button{background:#1976d2;color:#fff;border:none;padding:8px 12px;border-radius:4px}input,select{padding:6px 8px;border-radius:4px;border:1px solid #ddd}table td,table th{padding:8px;border-bottom:1px solid #eee}.about-container{max-width:800px;margin:0 auto;padding:20px;line-height:1.8}.about-container h1{margin-bottom:16px}.about-container h2{margin-top:32px;margin-bottom:16px}.about-container h3{margin-top:24px;margin-bottom:12px}.about-container p{margin-bottom:16px}.about-container ul,.about-container ol{margin-bottom:16px;padding-left:24px}.about-container li{margin-bottom:8px}.graph-page{padding:20px;box-sizing:border-box;background:#eee;min-height:100vh;display:flex;flex-direction:column;align-items:center}.graph-title{text-align:center;font-size:20px;margin-bottom:20px}.graph-sheets-container{display:flex;flex-direction:column;gap:20px}.graph-sheet{width:210mm;min-height:297mm;background:#fff;padding:10mm;box-sizing:border-box;box-shadow:0 0 10px #0000001a;display:flex;flex-direction:column}.graph-sheet.history-sheet{min-height:297mm;justify-content:flex-start}.graph-week-container{height:60mm;width:100%;margin-bottom:5mm;display:flex;flex-direction:column}.graph-week-label{font-size:14px;margin-bottom:4px;text-align:center;color:#555;flex-shrink:0}.graph-canvas-wrapper{flex:1;width:100%;min-height:0}.graph-footer{margin-top:auto;text-align:center;font-size:16px;border-top:1px solid #eee;padding-top:20px;display:flex;justify-content:center;gap:40px;padding-bottom:10px}.history-week-block{margin-bottom:24px;break-inside:avoid;page-break-inside:avoid}.history-week-label{font-size:13px;font-weight:600;color:#555;border-bottom:1px solid #eee;margin:0 0 8px;padding-bottom:4px}.history-list{column-count:3;-webkit-column-count:3;column-gap:40px}.history-item{break-inside:avoid;page-break-inside:avoid;display:flex;justify-content:flex-start;gap:4px;padding:6px 8px;border-bottom:1px solid #f5f5f5;font-size:13px;background:#fff}.h-date{color:#333;width:35px}.h-time{color:#666;width:60px;text-align:left;padding-left:0}.h-weight{font-weight:600;width:55px;text-align:right;color:#1976d2;white-space:nowrap}.print-page-number{display:block;margin-top:auto;text-align:center;font-size:10px;color:#999;width:100%;padding-top:20px}@media print{.print-page-number{display:block;margin-top:auto;text-align:center;font-size:10px;color:#999;width:100%;padding-top:5mm}@page{size:A4 portrait;margin:0}body{background:#fff}.graph-page{padding:0;background:#fff;display:block}.graph-title{display:none}.graph-sheets-container{gap:0;display:block}.graph-sheet{display:block;width:100%;height:auto!important;min-height:297mm!important;margin:0;padding:10mm;box-shadow:none;page-break-after:always;border:none}.graph-sheet:last-child{page-break-after:auto}.graph-week-container{height:60mm;page-break-inside:avoid}.no-print{display:none!important}.history-week-block{margin-bottom:5mm}.history-week-label{font-size:11px;color:#666;margin:0 0 4px;padding-bottom:2px}.history-title{font-size:18px;margin-bottom:10px;text-align:center}.history-table,.history-table th,.history-table td{display:none}.history-list{column-gap:15mm}.history-item{padding:4px 8px;border-bottom:1px solid #eee;font-size:11px}.h-date{color:#555}.h-time{color:#888}.h-weight{color:#000}.safari-mode .graph-sheet{zoom:.9}}.app-container{max-width:900px;margin:0 auto;padding:16px}.app-header{display:flex;justify-content:center;align-items:center;position:relative}.app-header h1{margin:8px 0;white-space:nowrap}@media(max-width:600px){.app-container{padding:12px}.app-header{display:flex;flex-direction:column;gap:8px;text-align:center}.app-header h1{white-space:normal;font-size:1.5rem}.header-controls{justify-content:center;width:100%}}.measure-form-header{margin-bottom:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.date-input-group,.user-info-group{display:flex;align-items:center;gap:8px}.measure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.measure-card{padding:12px;border:1px solid #ddd;border-radius:4px}.measure-card-title{font-size:13px;font-weight:500;margin-bottom:8px}.measure-input{width:100%;margin-bottom:8px;padding:6px;font-size:14px;box-sizing:border-box}.measure-button{width:100%}.weight-table{width:100%;border-collapse:collapse}.weight-table th{text-align:left}.weight-row-header{cursor:pointer;background-color:#f0f0f0;border-bottom:1px solid #ddd}.weight-row-detail{border-bottom:1px solid #eee}.weight-cell-time{padding-left:32px}@media(max-width:600px){.measure-form-header{flex-direction:column;align-items:stretch}.date-input-group{justify-content:flex-start}.user-info-group{justify-content:space-between;flex-wrap:wrap;order:-1;margin-bottom:8px}.measure-grid{grid-template-columns:1fr}.weight-cell-time{padding-left:16px}}.user-menu-container{position:relative;display:inline-flex;align-items:center}.user-badge{position:relative;font-size:14px;font-weight:500;color:#fff;background:#1976d2;padding:6px 12px;border-radius:4px;display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;box-shadow:0 1px 3px #0000001a;transition:background-color .2s}.user-badge:hover{background:#1565c0;box-shadow:0 2px 4px #0003}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:var(--z-dropdown);display:flex;flex-direction:column;padding:4px 0;overflow:hidden}.user-menu-item{padding:10px 16px;font-size:14px;color:#333;text-align:left;background:none;border:none;width:100%;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:8px;transition:background-color .1s}.user-menu-item:hover{background:#f5f5f5;color:#1976d2}.user-menu-backdrop{position:fixed;inset:0;z-index:var(--z-backdrop)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:var(--z-modal)}.modal-content{background:#fff;padding:24px;border-radius:8px;width:100%;max-width:400px;box-shadow:0 4px 12px #00000026}.all-time-graph-page{min-height:100vh;background:#f7f9fc;padding:20px;box-sizing:border-box}.all-time-graph-header{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 20px}.all-time-graph-header h1{margin:0;font-size:24px}.all-time-graph-header .back-button{background:#666}.all-time-graph-header .print-button{background:#1976d2}.period-filter{display:flex;justify-content:center;gap:8px;margin-bottom:24px;flex-wrap:wrap}.period-filter button{background:#e0e0e0;color:#333;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;transition:all .2s}.period-filter button:hover{background:silver}.period-filter button:focus{outline:2px solid #1976d2;outline-offset:2px}.period-filter button.active{background:#1976d2;color:#fff}.all-time-chart-container{max-width:1200px;margin:0 auto;background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:60vh;min-height:300px;max-height:500px}.stats-summary{max-width:800px;margin:24px auto 0;background:#fff;padding:20px 24px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.stats-summary h3{margin:0 0 16px;font-size:18px;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#666;text-transform:uppercase}.stat-value{font-size:18px;font-weight:600;color:#333}.stat-value small{font-size:12px;font-weight:400;color:#888;margin-left:4px}.stat-value.decrease{color:#2e7d32}.stat-value.increase{color:#c62828}.no-data{text-align:center;padding:60px 20px;color:#666}.mobile-warning{text-align:center;padding:60px 20px;max-width:400px;margin:0 auto}.mobile-warning h2{font-size:24px;margin-bottom:16px}.mobile-warning p{color:#666;margin-bottom:8px}.mobile-warning button{margin-top:24px}@media print{.all-time-graph-page{background:#fff;padding:10mm}.all-time-graph-header .back-button,.all-time-graph-header .print-button,.period-filter{display:none}.all-time-chart-container{box-shadow:none;height:auto;min-height:300px}.stats-summary{box-shadow:none;border:1px solid #ddd}}.settings-page{max-width:800px;margin:0 auto;padding:24px}.settings-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.settings-header h2{margin:0;font-size:24px}.settings-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.settings-tab{padding:12px 24px;border:none;background:transparent;color:#666;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.settings-tab:hover{color:#1976d2;background:#f5f5f5}.settings-tab.active{color:#1976d2;border-bottom-color:#1976d2;background:transparent}.settings-tab:focus-visible{outline:2px solid #1976d2;outline-offset:-2px}.settings-tab-content{min-height:300px}.settings-back-btn{background:#666;padding:8px 16px;font-size:14px}.settings-back-btn:hover{background:#555}.settings-section{background:#fff;border-radius:8px;padding:20px 24px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.settings-section h3{margin:0 0 16px;font-size:18px;color:#333;border-bottom:1px solid #eee;padding-bottom:12px}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.settings-item:last-child{border-bottom:none}.settings-item-info{display:flex;flex-direction:column;gap:4px}.settings-item-label{font-weight:500;color:#333}.settings-item-value{font-size:14px;color:#666}.settings-item-description{font-size:12px;color:#888}.settings-item button{padding:6px 16px;font-size:13px;white-space:nowrap}.settings-item button.danger{background:#d32f2f}.settings-item button.danger:hover{background:#c62828}.settings-danger-zone{border:1px solid #ffcdd2}.settings-danger-zone h3{color:#c62828}@media(max-width:600px){.settings-page{padding:16px}.settings-header{flex-direction:column;align-items:flex-start}.settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-tab{padding:10px 16px;font-size:13px;white-space:nowrap}.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.settings-item button{width:100%}}
