*,:before,:after{box-sizing:border-box}body{color:#222;background:#fafafa;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.5}.screen{max-width:640px;margin:0 auto;padding:12px}h1{margin:0;font-size:1.25rem}h2{margin:0 0 8px;font-size:1.1rem}.date{margin:0 0 12px}.screen-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.section{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:16px;padding:12px}.items{margin:0 0 8px;padding:0;list-style:none}.item{align-items:stretch;gap:6px;margin-bottom:6px;display:flex}.item>.edit-form{flex:1;min-width:0}.item-planned .item-button{background:#f5f3ff;border-style:dashed;border-color:#6d28d9}.status{border-radius:4px;align-items:center;gap:2px;padding:0 8px;font-size:.85rem;display:inline-flex}.status-planned{color:#6d28d9;background:#fff;border:1px dashed #6d28d9}.status-eaten{color:#fff;background:#047857;border:1px solid #047857}.toggle{flex:none;padding:0 10px;font-size:.9rem}button,select,.text-input{min-height:44px;font:inherit}button{background:#fff;border:1px solid #888;border-radius:8px;padding:0 14px}button:disabled{opacity:.5}button.primary{color:#fff;background:#2563eb;border-color:#2563eb}button.danger{color:#b91c1c;border-color:#b91c1c}.item-button{text-align:left;flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.item-name{overflow-wrap:anywhere}.tag{background:#eee;border-radius:999px;padding:0 8px;font-size:.85rem}.text-input{border:1px solid #888;border-radius:8px;flex:1;min-width:0;padding:0 10px}.add-form,.edit-form{flex-direction:column;gap:8px;display:flex}.add-row{gap:8px;display:flex}.choices{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.choices-legend{color:#555;min-width:5.5em;font-size:.85rem}.choice[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb}.select-row{align-items:center;gap:8px;display:flex}.date-input{min-width:0;min-height:44px;font:inherit;border:1px solid #888;border-radius:8px;padding:0 10px}.actions{flex-wrap:wrap;gap:8px;display:flex}.month-nav{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.month-title{text-align:center;margin:0}.month-nav-sub{justify-content:center;margin:8px 0;display:flex}.calendar{table-layout:fixed;border-spacing:2px;width:100%}.calendar th{color:#555;font-size:.85rem;font-weight:400}.calendar td{vertical-align:top;padding:0}.day{border-color:#ccc;flex-direction:column;align-items:center;gap:2px;width:100%;min-height:56px;padding:2px;display:flex}.day[aria-current=date]{background:#dbeafe;border:2px solid #2563eb}.day[aria-current=date] .day-number{font-weight:700}.day-head{align-items:center;gap:3px;display:flex}.planned-mark{border:2px solid #6d28d9;flex:none;width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.marks{flex-wrap:wrap;justify-content:center;gap:1px;display:flex}.mark{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;line-height:1;display:inline-flex}.mark-japanese{background:#b91c1c}.mark-western{background:#1d4ed8;border-radius:3px}.mark-chinese{background:#a16207}.mark-other{background:#047857;border-radius:3px}.mark-unset{color:#444;background:#fff;border:1px dashed #444}.legend{background:#fff;border:1px solid #ddd;border-radius:8px;margin-top:12px;padding:12px}.legend-list{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.legend-list li{align-items:center;gap:4px;display:flex}.legend-note{color:#555;margin:8px 0 0;font-size:.85rem}.error{color:#b91c1c;overflow-wrap:anywhere;background:#fee2e2;border-radius:8px;padding:8px 12px}
